JPA持续两次相同的实体

时间:2010-08-22 20:48:04

标签: jpa persistence duplicates

我刚注意到我工作的一部分代码会将同一个实体保存两次。 我尝试了几个技巧,比如flush()和Transaction REQUIRES_NEW,但没有做到。 但是在调用persist(entity)之后我可以看到调试时,我得到了该实体的ID(IDENTITY)......但是如果我看一下变量,我会看到同一个实体不同的ID和两个带有表中ID的迭代。

这是使用Java EE 6和Glassfish 3.0.1

1 个答案:

答案 0 :(得分:1)

您使用的是哪个JPA提供商?什么版本?

启用日志记录(最好)并包括发生的日志。

如果使用EclipseLink启用日志记录,请参阅

http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging

为对象的ID分配了什么值,请检查以确保它是> 0。 还要确保使用IDENTITY列生成数据库中的表。 你在用什么数据库?

尝试使用TABLE测序来查看它是否与IDENTITY测序有关。

还包括您的课程的源代码。