【发布时间】:2016-06-07 20:49:34
【问题描述】:
在 JPA 或 Hibernate 中,是否可以基于主键以外的唯一键将新实体(没有主键值)合并到持久化上下文中?
还是所有 JPA / Hibernate 合并仅在主键上执行?
如果通过简单的方法调用无法做到这一点,我唯一的选择是:
- 用唯一键替换现有主键
- 编写代码,使用唯一键中的属性值查找任何现有实体。如果我要这样做,我想我会编写一个静态方法来查找
@UniqueConstraint注释,并根据@UniqueConstraints 中的属性搜索现有实体。我会尝试合并到为任何@UniqueConstraints 找到的第一个实体。如果没有匹配项,那么我可以保留新实体。
【问题讨论】:
标签: hibernate jpa unique-constraint jpa-2.1 unique-key