问题1:既然是自动增加的类型,那么增加一条记录的时候,肯定是不用输入的。至于怎么传递这个参数,你可以通过
select top 1 thisID from tablename order by thisID desc
即通过降序取出最大的thisID数据,加上自动增加的幅度,就可得到此时增加一条记录的thisID,再将它作为参数传递即可,这样增加时不输入这个thisID和将这个thisID作为参数传递就并不冲突了。

解决方案 »

  1.   

    第一个问题:
    在EJB的创建向导中,选中你的主键字段,设置: In ejbCreate()的值为false即可.然后保存,你可以查看你的home接口,create()中没有了参数,但创建后会采用自增值.
      

  2.   

    to : alphazhao(绿色咖啡) 
    但关键是因为这个字段是主关键字,所以它就作为参数写进了ejbCreate(id)中了,
    你说的方法我知道,你的意思是每次从数据库里取出最大的一个值然后加1,再把它传递给homeBean.create(id);但这好象与设计数据库时把该字段设成自动增加的类型的原意相违背呀,而且如果是这样的话,那我们又何必把它设成自动增加的类型呢?
      

  3.   

    to JasonYang(雨辰) 
    你这个方法,我试试看!
    对了还有第二个问题,大家帮我看看呀!
      

  4.   

    自动递增型主键在使用Entity Bean ejbCreate()没有参数。
      

  5.   

    二个问题,你没有具体的错误代码,不好解释。不过你最好通过
    SessionBean来访问EntityBean,客户端直接访问EntityBean好像不是
    J2EE规范所提倡的。
    第一个问题,我也想知道答案
      

  6.   

    第二个问题,如果LOCAL INTERFACE,根据EJB2.0的规范,是不能直接用JAVABEAN形式的TESTCLIENT来调用的,最简单的方法,用一个SESSIONBEAN来调用,如果你认为这个不合适,那么你可以参看SUN颁布的J2EE蓝本,上面有对这个问题极其“复杂”的解决方法,希望能帮到你。
      

  7.   

    学习
    我是JAVA初学者,请问jbuilder6+weblogic6是什么组合,交际舞?哈哈 把贴子踢到前面去。
      

  8.   

    第二个问题:
    把接口改为Local\Remote即可.
      

  9.   

    谢谢大家的回答,下午我会结贴的!
    对了还想问大家一个问题,
    就是在ejb-jar.xml中有引用其它bean时,好象有一个<ejb-link>元素,对它的用法我总是似懂非懂;觉得有时好象完全不需要;另外它和jndi name之间有没有关联呀!
      

  10.   

    to JasonYang(雨辰)我也试过无论是remote,还是local/remote都不行!
      

  11.   

    回答关于ejb-jar.xml:)
    在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
      

  12.   

    to : xioyoo(丁鹏) (
    谢谢你的回答!
    如果是按ejb-link和ejb-ref来做资源引用,那么在部署到weblogic服务器上时,还需不需要进行jndi 之间的映射?
      

  13.   

    to : xioyoo(丁鹏) 
    谢谢你的回答!
    如果使用ejb-link和ejb-ref来做资源引用,那么在部署到服务器上时如weblogic,
    那还需不需要进行jndi name之间的映射?