castor jdo 的更新问题

03-05-20 杰拉得

我在用castor jdo更新数据库时,感到有一点点不爽,不知是不是我用的不对,
假设有两个bean,group与user ,是一对多关系
user中有一个属性group可直接取得所对应的group,即getGroup与setGroup(Group g)方法,实际的数据库中对应的是这两张表之间的一个外键关系。user表中有一个groupID字段。
代码如下:
//传入的参数是userid与groupid,表示将userid对应的实例更新
Database db = createJdodb();
db.begin();
User user = db.load(User,userid);
Group group = db.load(Group,groupid);
user.setGroup(group);
db.commit();
当我更新user的group字段时,我必须先取得group实例,但是这样太麻烦了,能不能直接根据groupid来更新。

banq
2003-05-21 13:39

这就是JDO中的O (object)的意义,都是面向对象啊,你使用ID不是又回到从前了?

杰拉得
2003-05-22 14:44

但是方便性与效率都有所降低,如果能象ofbiz的实体那样既能用对象,又能用id,
对象在需要时再产生,是不是更好一些。
毕竟大多数情况接受数据是html页提交的,都是id,如果先转换的话,感觉好像绕了很大一圈