这个问题在这里已经有答案了:
使用jpa防止唯一约束冲突的最佳方法(3个答案)
两个月前关门了。
我有一个实体,比如说雇员
@Entity
public class Employee {
@Id
private Long id;
private String name;
....
}
具有字段名的被标记为唯一。
要保存员工列表,我使用 saveAll()
jparepository的功能。当有一个员工 name
在数据库中表示唯一约束( name
)已经被侵犯了。
我想处理的是我可以忽略或更新这个员工?有一个想法是,在拯救任何员工之前,我必须先检查一下,比如 findByName()
但是通过这样做,当批量很大时,它会使工作加倍,而且非常不方便。
这是错误日志:
org.springframework.dao.DataIntegrityViolationException: could not execute batch;
SQL......at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccess
Exception(HibernateJpaDialect.java:298)......
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute batch......
Caused by: java.sql.BatchUpdateException: ORA-00001: unique constraint (SILKGATE_TEST.SYS_C00100705) violated.....
提前谢谢
1条答案
按热度按时间0dxa2lsx1#
您可以使用unique=true。