0
我的程序中有一個奇怪的Hibernate行爲。 我有兩個班,一對多的關係:好,價格:休眠更新問題
@Entity
@Table(name="GOODS")
public class Good {
....
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="GOOD_ID")
private Set<Price> prices = new HashSet<Price>();
...}
@Entity
@Table(name="PRICES")
public class AuctionPrice {
..
@Column(name="PRICE")
private double price;
...}
當我更新包含的商品我看到休眠SQL日誌這樣的查詢hierarchial結構:
update PRICES set GOOD_ID=null where GOOD_ID=?
...
update PRICES set GOOD_ID=? where id=?
所有價格(當有價格沒有實際變化)。
爲什麼hibernate將此字段設置爲null,並且在它將其恢復回去之後,是否可以避免這種情況?