JPA:合并具有现有ID的实体

时间:2013-01-11 12:32:45

标签: java jpa

我正在使用JPA 2.0开发Web应用程序,并在每个请求中打开和关闭EntityManager。用户可以创建新实体并设置id-field(该字段具有含义,我无法更改表结构)。要存储新实体,我必须使用EntityManager的“merge”方法,但是当已经存在具有相同id的现有实体时,它才会更新。 如果已经存在具有相同ID的实体,我是否必须手动检查,或者可以更好地完成此操作?或者我的做法还有其他问题吗?

1 个答案:

答案 0 :(得分:1)

如果您使用persist方法,则会为重复的ID引发EntityPersistsException

也就是说,从用户的角度来看,他越早知道ID已经被使用越好(最好是在更新字段时用ajax检查它)。