加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JPA获取实体对象的id

发布时间:2020-12-14 16:46:21 所属栏目:Java 来源:网络整理
导读:有没有人知道如何在hibernate中做相当于此: session.getIdentifier(instance); 与JPA? EntityManager有一个包含的方法,但这几乎是! 我正在编写一些代码,用作实体和存储在会话中的数据之间的变换器(因此,而不是仅存储类名称并存储id的序列化对象). 解决方
有没有人知道如何在hibernate中做相当于此:
session.getIdentifier(instance);

与JPA?

EntityManager有一个包含的方法,但这几乎是!

我正在编写一些代码,用作实体和存储在会话中的数据之间的变换器(因此,而不是仅存储类名称并存储id的序列化对象).

解决方法

Does anyone know how I can do the equivalent of this in hibernate (…) with JPA?

JPA 1.0没有相同的效果,所以如果你坚持使用JPA 1.0,你必须使用Hibernate的API:从EntityManager获取会话并使用Session#getIdentitifier(Object).

例如,使用JBoss(yes,getDelegate()是not portable):

org.hibernate.Session session = (Session)manager.getDelegate();
session.getIdentifier(myEntity);

如果您使用JPA 2.0,则使用axtavt建议的PersistenceUnitUtil#getIdentity(Object).但JPA 1.0中不提供.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读