EJB中的CMP Entity Bean中的自增长字段如何设置?
数据库为SQL Server,JB中添加完Entity Bean后,字段的自增长字段如何设置?看了Weblogic的example代码,看不明白.它就是在rdms相关的xml中加了点代码,打开它的EJB,更看不懂了,它的EJB对应的Entity Bean的字段不可以指定在ejbCreate里面的,不明白.哪位大虾知道,请说说,谢谢! 问题点数:60、回复次数:10Top
1 楼wjmmml(笑着悲伤)回复于 2002-10-15 13:49:52 得分 10
数据库是db2和oracle的都可以处理,sqlsever的不知道,问题你能取得每次的字增字段的值吗?例如:oracle里面可以好象用序列名.nextval得到下一个值Top
2 楼kexsong(阿信)回复于 2002-10-17 16:59:59 得分 20
在它的例子中,实现这一功能是在weblogic-cmp-rdbms-jar.xml里,如下:
<automatic-key-generation>
<generator-type>ORACLE</generator-type>
<generator-name>oracle_sequence</generator-name>
<key-cache-size>10</key-cache-size>
</automatic-key-generation>
其中oracle_sequence是自己定义的序列。Top
3 楼gaga_ghost(鬼王Gaga)回复于 2002-10-17 17:33:09 得分 0
建议自己写一个生成主健的ejb.Top
4 楼zhangchunlei(淮淮)回复于 2002-10-18 10:07:55 得分 0
没用的,我的是SQL Server,在rdms文件中加入:
<automatic-key-generation>
<generator-type>SQL_SERVER</generator-type>
</automatic-key-generation>
但CMP Bean的ID字段如何设置?在ejbCreate()方法中吗?在,它报错,说它在创建时没有被赋值;不在ejbCreate中时,它又报错,说主键不可以在create时不赋值,请部问有什么好的方法呢?Top
5 楼kexsong(阿信)回复于 2002-10-18 17:44:24 得分 10
rdms文件的设置正如你所说的,在ejbCreate()不用加入id字段作为参数的啊,容器自己会帮你处理好的了!Top
6 楼zhangchunlei(淮淮)回复于 2002-10-21 09:58:28 得分 0
可是编译通不过,它说主键(ID是主键)不可以不在ejbCreate参数中!不,好像是执行通不过,发布没有问题的,就是新建对象时,报错,说主键没有在ejbCreate方法中,如何办呢?Top
7 楼kexsong(阿信)回复于 2002-10-21 10:56:08 得分 20
因为是自增字段,当然不能把主键也放在ejbcreate()里面了。你在你的weblogic-cmp-rdbms-jar.xml里加上:
<automatic-key-generation>
<generator-type>SQL_SERVER</generator-type>
</automatic-key-generation>
就行了啊。创建记录的时候,容器自己帮你处理别的事情了。Top
8 楼www863(心网)回复于 2002-10-22 17:42:38 得分 0
关注。。。。Top
9 楼jeston(jeston_cn)回复于 2002-10-23 13:37:34 得分 0
有没有比较统一的方法,不要针对每种数据库。
如:oracle,db2中有sequence,但是其它没有。
那怎么实现字段自增长的ejbCreate()方法呢???
请高手指点?Top
10 楼ggzzkk(心情呢!)回复于 2002-10-23 14:10:37 得分 0
不过在Oracle里用序列名.nextval来处理自增字段,可序列没有事务的回滚功能,那有其他好方法吗?Top




