1.首先要明确你的主关键字和外部关键字的一致性,通过cmr的建立一定要注意字段的基类型,如果是整形数据一定要:java.lang.Integer
2.在EJB2.0的规范中,一旦建立了java.util.Collection时在EntityBean,Local中自动加载set/get collection相应的数据
2.在EJB2.0的规范中,一旦建立了java.util.Collection时在EntityBean,Local中自动加载set/get collection相应的数据
a:B = 1:N
不要在B中设置A的主键值(外键)
容器会完成这个工作,只要把B的集合付给A就ok了
首先谢谢你回复了我两个帖子阿,^_^
我的相对应字段都是number型,我的数据库时oracle
我的问题是,要修改实体bean bcTeam的时候是否能通过bcTeam的set关系字段(Collection)
来修改相对应的实体bean?
to Javatomchen()
我是这样的,但不行啊,报错了
The cmr-field is read-only
把它看成对象就可以,至于你的one-many:
比如在one部分的vo,内部要把子表对象引入进来,到时只要通过get整个对象就行
而你说的修改,其实是一样做的:(比如)
public boolean updXX(
VO对象 vo) {
try {
XXLocalHome home =getXXLocalHome();
XXPK pk = new XXPK( new Integer(vo.get各个部分的关键字);
XXLocal local = home.findByPrimaryKey(pk);
//以下除了主关键字都写上
local.set参数(vo.get参数());
return true;
}
catch (Exception e) {
return false;
}
}
我初步想可以不用relationship(cmr)来做,可以直接在sessionFacade去直接调用bean...
当然这个还有待测试
能不能通过给关联的实体bean的关系字段赋值,来创建或修改被关联的实体bean?
谢谢!