论坛首页 Java企业应用论坛

inverse是什么意思?

浏览 17732 次
该帖已经被评为精华帖
作者 正文
   发表时间:2003-11-25  
就是说下面的代码:
Item item = new Item();
xxx.getItems().add(item);
这样子的话item不会被加到数据库中是吗?
而必须这样session.store(item),才可以保存到数据库中,对吗?

那如果设为false,就是与此相反吗?谢谢!
0 请登录后投票
   发表时间:2003-11-25  
sorry,我没看到设置了cascade="true",应该这么说

就是你光改动这个bag是不会使两者产生关联,即bag不会负责维护这个外键,必须改动它所对应的many-to-one一端,即必须这样
xxx.getItems();.add(item);; 
item.setXXX(xxx);;  
0 请登录后投票
   发表时间:2003-11-25  
可以这么说,双向关联一般总有一端设置为inverse="true",对于一对多的双向关联,总把collection设为inverse="true"。

双向关联更新时总要两端同时更新。
0 请登录后投票
   发表时间:2003-11-25  
yehs220 写道
双向关联更新时总要两端同时更新。


同时更新是hibernate自动做的吗?还是得我们自己编码实现?

那如果两端同时设为false,或者同时设为true又会怎样呢?
0 请登录后投票
   发表时间:2003-11-25  
引用

同时更新是hibernate自动做的吗?还是得我们自己编码实现?

自己编码实现,就像这样
xxx.getItems();.add(item);; 
item.setXXX(xxx);;


引用

那如果两端同时设为false,或者同时设为true又会怎样呢?

同时设为true:没人去维护这个关联,不会吧?
同时设为false:多次更新这个关联,效率低,而且可能出错。
0 请登录后投票
   发表时间:2003-11-25  
引用

同时设为false:没人去维护这个关联,不会吧?
同时设为true:多次更新这个关联,效率低,而且可能出错。


我感觉好像说反了,如果是这样的话,我就更糊涂了。
0 请登录后投票
   发表时间:2003-11-25  
奥,对对
0 请登录后投票
   发表时间:2003-11-25  
那就是说你刚才说反了,对吗?:)

非常感谢你了,浪费了你许多时间,刚到这儿不久,没有多少积分,就全给你吧,不要闲少啊:)
0 请登录后投票
   发表时间:2003-11-25  
对,刚才说反了,已经改过来了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics