JPA获取实体对象的ID
有谁知道我该如何在hibernate状态下做到这一点:
session.getIdentifier(instance);
使用JPA?
EntityManager有一个contains方法,但仅此而已!
我正在编写一些代码,充当实体和会话中存储的数据之间的转换器(因此,不是存储序列化的对象,而是仅存储类名和ID)。
回答:
有谁知道我可以用JPA在hibernate(…)中做到这一点?
JPA 1.0没有等效的功能,因此如果您坚持使用JPA
1.0,则必须使用Hibernate的API:Session
从EntityManager
和使用获取Session#getIdentitifier(Object)
。
例如,与JBoss(是的,getDelegate()
是不可移植的):
org.hibernate.Session session = (Session)manager.getDelegate();session.getIdentifier(myEntity);
如果您使用的是JPA
2.0,请PersistenceUnitUtil#getIdentity(Object)
按照axtavt的建议使用。但这在JPA 1.0中不可用。
以上是 JPA获取实体对象的ID 的全部内容, 来源链接: utcz.com/qa/417226.html