使用JPA时,我遇到了一些关于
我在stackoverflow上找到了以下答案: Should I write equals() methods in JPA entities? 这个答案涉及到Hibernate sessions。我没有使用Hibernate(而是EclipseLink),也不了解JPA提供商的实现细节,例如这些“sessions”。
我的问题是,从JPA的角度来看,什么是Hibernate session?或者更具体地说:如果我不重写
是否使用相同的EntityManager实例就足以避免这些问题(这意味着,“session”和“EntityManager”可以在此上下文中等效使用)?
注意:我并非所有表都有可用的业务主键,因此不能应用在
equals()
和hashcode()
的问题,特别是对于尚未持久化的新实体。我在stackoverflow上找到了以下答案: Should I write equals() methods in JPA entities? 这个答案涉及到Hibernate sessions。我没有使用Hibernate(而是EclipseLink),也不了解JPA提供商的实现细节,例如这些“sessions”。
我的问题是,从JPA的角度来看,什么是Hibernate session?或者更具体地说:如果我不重写
equals()
和hashcode()
,在哪些情况下会出现两个表示同一实体(如果存在一个业务主键,则为相同)的对象不“ 相等”(这意味着equals()
返回false)的问题?是否使用相同的EntityManager实例就足以避免这些问题(这意味着,“session”和“EntityManager”可以在此上下文中等效使用)?
注意:我并非所有表都有可用的业务主键,因此不能应用在
equals()
和hashcode()
中使用业务主键属性的解决方法。