锁定老帖子 主题:inverse是什么意思?
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2003-11-25
就是说下面的代码:
Item item = new Item(); xxx.getItems().add(item); 这样子的话item不会被加到数据库中是吗? 而必须这样session.store(item),才可以保存到数据库中,对吗? 那如果设为false,就是与此相反吗?谢谢! |
|
返回顶楼 | |
发表时间:2003-11-25
sorry,我没看到设置了cascade="true",应该这么说
就是你光改动这个bag是不会使两者产生关联,即bag不会负责维护这个外键,必须改动它所对应的many-to-one一端,即必须这样 xxx.getItems();.add(item);; item.setXXX(xxx);; |
|
返回顶楼 | |
发表时间:2003-11-25
可以这么说,双向关联一般总有一端设置为inverse="true",对于一对多的双向关联,总把collection设为inverse="true"。
双向关联更新时总要两端同时更新。 |
|
返回顶楼 | |
发表时间:2003-11-25
yehs220 写道 双向关联更新时总要两端同时更新。
同时更新是hibernate自动做的吗?还是得我们自己编码实现? 那如果两端同时设为false,或者同时设为true又会怎样呢? |
|
返回顶楼 | |
发表时间:2003-11-25
引用 同时更新是hibernate自动做的吗?还是得我们自己编码实现? 自己编码实现,就像这样 xxx.getItems();.add(item);; item.setXXX(xxx);; 引用 那如果两端同时设为false,或者同时设为true又会怎样呢? 同时设为true:没人去维护这个关联,不会吧? 同时设为false:多次更新这个关联,效率低,而且可能出错。 |
|
返回顶楼 | |
发表时间:2003-11-25
引用 同时设为false:没人去维护这个关联,不会吧? 同时设为true:多次更新这个关联,效率低,而且可能出错。 我感觉好像说反了,如果是这样的话,我就更糊涂了。 |
|
返回顶楼 | |
发表时间:2003-11-25
奥,对对
|
|
返回顶楼 | |
发表时间:2003-11-25
那就是说你刚才说反了,对吗?:)
非常感谢你了,浪费了你许多时间,刚到这儿不久,没有多少积分,就全给你吧,不要闲少啊:) |
|
返回顶楼 | |
发表时间:2003-11-25
对,刚才说反了,已经改过来了。
|
|
返回顶楼 | |