cmr是container manage relationship.如果你想使用cmr,首先确定你必须是ejb2.0或者以上(有没有以上我也不知道)
然后在ejb规范中cmr-field是不允许被操作的,ejbcreat()里面也不能操作,也就是如果你的publicsher_id是not null,基本上你的程序就没法子运行了,至少Home.create()是甭想。
再次你设置关联关系的时候不是setPublicherId( intValue),而是setPublishers( publishersObject)

解决方案 »

  1.   

    先A = AHome.create()
    然后B = BHome.create()
    再A.setB(B)
      

  2.   

    to asdmonster(努力学习VC,讨回失去的信誉分) 
    cmr-field不允许我操作,那我要这玩艺能做什么呢?
      

  3.   

    也就是说我必须先有完整的publishers对象,才能通过create或set方法作出一条完整的记录?
      

  4.   

    cmr-field就是不允许被操作,要操作相应的字段,如  raymondcen(无尽的星空) 那样。
    cmr有什么好处呢,有了cmr,就有了ejb designer(我也不知道二者有没有关联:-(),不过至少不需要你自己写finder()去找和A相关的B了。
      

  5.   

    to asdmonster(努力学习VC,讨回失去的信誉分)
    可不可以举个小例子,怎样叫"不需要你自己写finder()去找和A相关的B了"??
    谢谢了
      

  6.   

    比如说实体A,B,A中有一个字段bOfA,是对B的关键字段bOfB的引用。关系是多对一。
    现在需要查找引用了实体B的某个特定对象b1的所有A的实例。
    如果没有cmr,毫无疑问,你需要在A的entity bean里面写finder方法,查找所有bOfA字段为b1的A集合
    有了cmr,你可以直接 java.util.Collection b1.getA(),