使用JPA处理集合更新

dav*_*ooh 2 java collections hibernate jpa

我有一组自定义对象,我想使用JPA以最简单的方式保留它.

我的CustomObject类被映射到一个表.现在我想知道JPA是否提供某种实用程序来处理对象集合.

特别是我想在我的集合中添加或删除对象,然后传递给save(Collection<CustomObject> cco)方法而不检查哪些对象已经更改(我需要添加哪些对象以及要删除哪些对象...)

可能吗?

mpr*_*hat 8

如果您正在寻找EntityManager可以保存或更新集合的内容,答案是否定的.您必须循环并执行保存或更新.

如果您使用EntityManager.merge()API,它将在记录存在时更新,否则将插入新记录.

就删除而言,JPA或任何其他ORM如何确定您要删除该实例,如果它是一个软删除,如更新列之类is_activetrue/false,那么通过调用merge可以完成,但是如果你想要一个硬删除然后JPA将无法自行确定,您将不得不手动执行.