问题1:既然是自动增加的类型,那么增加一条记录的时候,肯定是不用输入的。至于怎么传递这个参数,你可以通过
select top 1 thisID from tablename order by thisID desc
即通过降序取出最大的thisID数据,加上自动增加的幅度,就可得到此时增加一条记录的thisID,再将它作为参数传递即可,这样增加时不输入这个thisID和将这个thisID作为参数传递就并不冲突了。
select top 1 thisID from tablename order by thisID desc
即通过降序取出最大的thisID数据,加上自动增加的幅度,就可得到此时增加一条记录的thisID,再将它作为参数传递即可,这样增加时不输入这个thisID和将这个thisID作为参数传递就并不冲突了。
在EJB的创建向导中,选中你的主键字段,设置: In ejbCreate()的值为false即可.然后保存,你可以查看你的home接口,create()中没有了参数,但创建后会采用自增值.
但关键是因为这个字段是主关键字,所以它就作为参数写进了ejbCreate(id)中了,
你说的方法我知道,你的意思是每次从数据库里取出最大的一个值然后加1,再把它传递给homeBean.create(id);但这好象与设计数据库时把该字段设成自动增加的类型的原意相违背呀,而且如果是这样的话,那我们又何必把它设成自动增加的类型呢?
你这个方法,我试试看!
对了还有第二个问题,大家帮我看看呀!
SessionBean来访问EntityBean,客户端直接访问EntityBean好像不是
J2EE规范所提倡的。
第一个问题,我也想知道答案
我是JAVA初学者,请问jbuilder6+weblogic6是什么组合,交际舞?哈哈 把贴子踢到前面去。
把接口改为Local\Remote即可.
对了还想问大家一个问题,
就是在ejb-jar.xml中有引用其它bean时,好象有一个<ejb-link>元素,对它的用法我总是似懂非懂;觉得有时好象完全不需要;另外它和jndi name之间有没有关联呀!
在EJB中引用其他BEAN有两种形式:
1,直接LOOKUP另一个BEAN的JNDI实名。
2,使用ejb-link和ejb-ref来做资源引用。
通常,我更愿意采用第2种,它给系统带来了更大的灵活性,同时,减少了硬编码!
请看以下描述符:
<ejb-ref>
<ejb-ref-name>ejb/Payrol</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>PayrollHome</home>
<remote>Payroll</remote>
<ejb-link>EmployeePayroll</ejb-link>
</ejb-ref>
... ...
现在在代码中lookup("ejb/Payrol");只是实际EJB的逻辑名,这样,如果以后
引用有变,不需要修改原代码重新编译,而只需要修改ejb-link元素,让它指向
新的BEAN
谢谢你的回答!
如果是按ejb-link和ejb-ref来做资源引用,那么在部署到weblogic服务器上时,还需不需要进行jndi 之间的映射?
谢谢你的回答!
如果使用ejb-link和ejb-ref来做资源引用,那么在部署到服务器上时如weblogic,
那还需不需要进行jndi name之间的映射?