Java 两个单向映射与Hibernate中的双向映射有何不同?
我正在读《行动中的冬眠》一书,发现很难掌握以下概念 我无法理解为什么同一外键在内存中有两种不同的表示形式,为什么hibernate在执行以下代码时会检测到外键的两种不同更改:Java 两个单向映射与Hibernate中的双向映射有何不同?,java,hibernate,orm,Java,Hibernate,Orm,我正在读《行动中的冬眠》一书,发现很难掌握以下概念 我无法理解为什么同一外键在内存中有两种不同的表示形式,为什么hibernate在执行以下代码时会检测到外键的两种不同更改: bid.setItem(item) bids.add(bid) 存储在项目的bids集合中的bid和bid都引用相同的外键 Item将Bids的集合保存在内存中,Bid将Item保存在内存中 项目 ------ 收集投标书; 投标 ------ 项目; 投标=新投标(…)//标的 Item=getItemFromD
bid.setItem(item)
bids.add(bid)
存储在项目的bids集合中的bid和bid都引用相同的外键
Item
将Bids
的集合保存在内存中,Bid
将Item
保存在内存中
项目
------
收集投标书;
投标
------
项目;
投标=新投标(…)//标的
Item=getItemFromDb()//项目对象
投标文件。设置项目(项目);
bids=item.getBids();
标书。添加(标书);
如果您为投标
设置了项目
,您还必须确保更新项目
对象的投标
集合以保持所有内容同步。否则,bid
对象将有与其关联的项
,但是,项
对象的集合中不会有该bid
,这意味着项
对象将不同步
希望这有帮助