java - 从 JPA 2.0 中的实体对象中提取主键?

标签 java orm jpa eclipselink jpa-2.0

假设我们有一个实体对象。有没有办法从中提取主键?

我想做这样的事情:

public static Object extractPrimaryKey(EntityManager em, Object obj) {
    return em.giveMeThePrimaryKeyOfThisEntityObject(obj);
}

这样做的原因是要获得分离实体的附加副本:

public static Object attach(EntityManager em, Object obj) {
    return em.find(obj.getClass(), extractPrimaryKey(em, obj));
}

这可能吗? (我使用的是 EclipseLink 2.1)

最佳答案

也许这会起作用:

em.getEntityManagerFactory().getPersistenceUnitUtil().getIdentifier(obj);

关于java - 从 JPA 2.0 中的实体对象中提取主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3883709/

相关文章:

design-patterns - 域对象应该包含其映射器吗?

java - 通过使用 java 流 api 的比较器对 map 的值进行排序

java - 使用深度链接启动 Android 应用程序

django - 使用 Django 的 ORM 加速批量插入?

java - 通过 Hibernate 保存实体时出现 org.hibernate.WrongClassException

java - 跳过 child 获取 parent - JPA

java - 使用组合键映射 JPA 实体

java - Apache Commons - 在文件中搜索

java - 在 Java 中实现新的 LinkedList 方法

mysql - Django DecimalField 与 MySQL 的查找不起作用