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,并且在它将其恢复回去之后,是否可以避免这种情况?