用新的替换现有行会导致重复键异常

时间:2011-01-03 21:11:17

标签: hibernate postgresql jpa

大家。 我有问题用新的行替换表中的现有行。我使用JPA和PostgreSQL DB。我正在尝试删除所有现有行,然后创建新行,但收到​​异常: org.postgresql.util.PSQLException:错误:重复键值违反唯一约束“user_destination_pk”。所有这些操作都在单个JTA事务中。似乎JPA在插入之前不删除行,但我没有收到删除异常...感谢任何帮助。

2 个答案:

答案 0 :(得分:11)

在保存/添加新实体之前,使用Hibernate Session.flush()方法刷新(执行SQL)删除。

答案 1 :(得分:0)

您可以将唯一约束创建为deferrable initially deferred