【发布时间】:2016-06-24 10:09:21
【问题描述】:
在 Hibernate 5.1.0 / JPA 2.1 中,有没有办法基于唯一键而不是基于主键进行合并?
我有一个唯一键的值作为来自外部系统的输入,但输入显然不包含我的内部主键。
我希望能够调用EntityManager#merge(entity),并且如果entity 的主键不为空,则让Hibernate / JPA 使用主键进行合并,但是,如果主键为空,使用唯一键进行合并(即如果primary为null,并且唯一键对应数据库中的一行,则更新该行,但如果数据库中没有唯一键对应的行,则将插入新行)。
【问题讨论】:
-
我也有同样的问题。你解决了吗?
-
在唯一键合并从我的工作要求中删除之前,我没有找到 Hibernate 内置的任何内容,因此我从未进一步调查。
-
目前正在寻找解决方案,但估计希望不大。
标签: hibernate jpa merge primary-key unique-constraint