[英]JPA merge of a @OneToOne entity relationship
我在兩個JPA實體之間有一個@OneToOne
關系,下面的示例被簡化而不是真實的實體名稱。
@Entity
public class Stock {
@Id
private Long id;
@OneToOne(fetch = FetchType.Lazy, mappedBy = "stock", cascade = CascadeType.ALL)
private StockDetail detail;
}
和StockDetail
@Entity
public class StockDetail {
@Id
private Long id;
@OneToOne
@JoinColumn(name = "STOCK_ID")
private Stock stock;
}
在我的示例中,我需要按ID搜索庫存,然后使用merge
例如更新庫存明細。
Stock stock = em.find(Stock.class, 1L);
StockDetail detail = stock.getDetail();
// Do some updates to detail
detail = em.merge(detail);
此時,通過調試器,我可以看到合並返回的detail
是更新的JPA實體。 但是,當我再次執行以下操作時,我遇到了一個問題。
Stock stock = em.find(Stock.class, 1L);
StockDetail detail = stock.getDetail();
現在, detail
似乎具有實體的舊狀態,我不確定上述問題是什么
這實際上是@NicoVanBelle和@ janith1024注釋的組合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.