第一个问题 :)

02-08-06 cloudkicker

Weblogic6.1的CMP 2.0可支持Primary Key的自动生成,Bea官方资料如下:

http://e-docs.bea.com/wls/docs61/ejb/cmp.html#1066165

情景如下:

(1)首先在MS SQL-Server 2K数据库中建一Table,其以一int(自动增量 ENTITY(1,1))字段作PK;

(2)对应的Entity Bean中的ejbCreate方法中按Bea规范未对PK字段进行赋值操作,部署描述符也按规范进行设置,同时此Bean编译和发布到Weblogic上也一切正常;(ejbCreate方法如下:)

public java.lang.Integer ejbCreate(ValueObject valueObject) throws ....{

//setPK(valueObject.getPK()); - 按Bea规范未对PK字段进行赋值操作

setXXX(valueObject.getXXX());

......

return null;

}

结果:

我的测试总是失败,提示信息为“在ejbCreate()中必须设置PK”。

-------------------------------------------------------------------------------

当然EJB中自动生成PK有很多其他方法,但不知哪位大虾成功使用过Weblogic6.1的这一功能,万望告知,谢谢。

2
banq
2002-08-06 09:17

我个人不是很提倡使用primay key自增功能,因为这会让你的程序失去通用性,为什么要使用EJB,因为这是一个规范标准,我们的系统可以在很多EJB服务器软件上运行,这是使用EJB的根本目的。

所以,还是推荐你建立一个数据库,专门用来产生ID,这个例子在Jbuilder 7的samples中有,你直接拷贝过来就能用。

今天看weblogic好像是鼎盛,虽知道明天呢?

个人意见 仅仅供参考

yfnew
2002-08-09 22:40

可否麻烦问一下,这个例子在Jbuilder 7的samples那个目录下,太多目录了。

banq
2002-08-10 16:44

samples目录的EJB目录下

Racing
2002-08-11 11:57

可以看 ejb design pattern 一书, 书中有一章节说了关于PK生成的问题,我记得好像有3种方法,你用的是第一种,这种方法移植性是瓶颈

2Go 1 2 下一页