【发布时间】:2011-04-09 22:42:41
【问题描述】:
我正在编写一个应用程序,它将第三方数据源中的实体同步到我们自己的架构中,中间有一个转换/映射步骤。我正在使用 Hibernate 在我们自己的模式中表示和持久化实体。我遇到的一个问题是我的一张表上有一个唯一的多列键。我希望看到的行为类似于 upsert:当 Hibernate 去持久化一个实体并检测到一个唯一的约束违规时,它会进行更新。我们正在使用 MySQL,它提供了 INSERT ... ON DUPLICATE KEY UPDATE 语法,但我不确定如何或是否可以使用 Hibernate?
我想我总是可以尝试插入,如果我发现异常进行更新,但这似乎很老套且不理想。有什么干净的方法可以做到这一点吗?
【问题讨论】: