java - java对象集合中的对象插入列表中如何忽略唯一冲突

  显示原文与译文双语对照的内容
74 1

我在 Hibernate 中使用了PostgreSQL和 Spring Data JPA 。我与 orphanRemoval = false 有关系 OneToMany,因为我经常将许多子级添加到关系中。

父级:

@OneToMany(mappedBy ="父级",级联= { CascadeType.ALL }, orphanRemoval = false,fetch = fetchtype 。lazy ) public 设置 getChildren() { children

子对象:

@ManyToOne @JoinColumn(name ="parent_id") public 父 getParent() { 返回父节点;}

持久化或者合并对象的方法

Iterable <> 保存( Iterable <扩展了T> 实体)

窗体CrudRepository我保存父列表,其中每个父元素都包含一组子元素。子表具有唯一的约束。如果发生约束冲突,我想忽略那些情况,但是 ommit ( 不保留) 子级是 viloations,但是我想插入不受约束冲突的。怎么做?

时间:原作者:0个回答

55 4

异常处理这里错误。

请尝试更新数据库,如果在这里很好。捕获UniqueViolationException并找到 JDBCException 。转到合格的数据库异常并查找损坏的子对象。

从父级中移除子对象。

转到 1.

原作者:
92 5

干净的方法是过滤那些将产生unique-violation-exceptions的实体。过滤好这些实体之后,可以保存好了。

异常应尽可能地使用:异常。

原作者:
...