我的问题涉及 EntityManager.getReference。鉴于我在一个 JPA 会话中,我能否确定对于同一个实体和同一个主键对 EntityManager.getReference 的两次调用,我总是得到同一个 java 对象实例?对于两个不同的会话,我怀疑会获得两个不同的 java 对象实例——真的是这样吗?
我有兴趣了解一般规则,而不是任何特定实现的工作原理。它是否由规范定义?(我自己无法找到它)。
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");
}