ish*_*ter 9 java hibernate jpa
有谁知道我怎么能在休眠中做相同的事情:
session.getIdentifier(instance);
Run Code Online (Sandbox Code Playgroud)
与JPA?
EntityManager有一个contains方法,但就是这样!
我正在编写一些代码,它们充当实体和存储在会话中的数据之间的转换器(因此,而不是仅存储类名并且存储id的序列化对象).
axt*_*avt 17
在JPA 2.0中,您可以编写
em.getEntityManagerFactory().getPersistenceUnitUtil().getIdentifier(instance);
Run Code Online (Sandbox Code Playgroud)
Pas*_*ent 10
有没有人知道我如何用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);
Run Code Online (Sandbox Code Playgroud)
如果您使用的是JPA 2.0,请PersistenceUnitUtil#getIdentity(Object)按照axtavt的建议使用.但这在JPA 1.0中不可用.
| 归档时间: |
|
| 查看次数: |
7663 次 |
| 最近记录: |