我意識到JPA不能像我期望的那樣工作,因爲我經常會在會話中結束多個單個實體的實例。Java JPA/Hibernate:如何避免會話中實體的多個實例?
這裏的學習情況:父與@OneToMany
映射在一個單一的方法孩子的集合:
- 獲取父P 實體
- 負荷集合的一個實例(包含C1和C2的實例):它包含C1和C2的一個實例
- 然後找到具有父P具有參數的優化JPA查詢的特定子查詢:Child C = dao.getSpecificChild(P)
這裏我希望C是已經加載的兩個實例之一(C1或C2)。我認爲JPA會在當前會話中檢查已經存在的實例。 但是JPA會加載一個新的C實例(不管這裏是C1還是C2都沒關係)。
讓我最終下的兩個不同的實例
我的問題是:這是預期的行爲? 如果是這樣,我如何在會話中協調我的實體實例?
歡呼
父P&dao.getSpecificChild(P)的實例通過使用相同或不同的實體管理器來獲取 – 2011-01-19 11:04:42