我的问题涉及到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