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,如果先转换的话,感觉好像绕了很大一圈