我的問題涉及到EntityManager.getReference。鑑於我在一個JPA會話中,我可以確定對於同一個實體和相同主鍵的兩次EntityManager.getReference調用,我總是得到相同的java對象實例嗎? 對於兩個截然不同的會話,我懷疑會得到兩個不同的java對象實例 - 是真的嗎?EntityManager.getReference它是否總是返回一個會話中的同一個實例?
我有興趣瞭解一般規則,而不是具體的實現如何工作。它是否由規範定義? (我自己找不到)。
Person p1 = EntityManager.getReference(Person.class, 1L);
Person p2 = EntityManager.getReference(Person.class, 1L);
if (p1 == p2) {
System.out.println("SAME");
} else {
System.out.println("DIFF");
}
也許這將有助於:http:// stackoverflow。com/questions/1607532/when-to-use-entitymanager-find-vs-entitymanager-getreference – JMelnik