4

假设我有一个名为“A”的实体。它有两列分别命名为 name 和 systemId。这些列约束唯一键。例如,它不允许 systemId "1" 和名称 "test" 的重复实体。

我的问题是:我想插入 A 实体的集合。我想跳过重复的实体,只需插入新的实体。如果唯一约束失败,EntityManager 是否能够跳过这些实体?我怎样才能成功?

4

1 回答 1

4

JPA 不允许错误处理,它要求在发生任何错误时将事务标记为回滚。

您可以将每个事务插入单独的事务中,或者将整个事务重试并拒绝每次传递失败的对象。您还可以先对唯一字段进行选择,如果对象已经存在,则跳过该对象。

于 2012-06-18T13:20:16.177 回答