1

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

4

1 回答 1

1

如果您使用persist方法,EntityPersistsException则会为重复的 id 抛出一个。

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

于 2013-01-11T12:37:53.970 回答