Java 如果违反约束,则CrudRespository saveAll方法引发异常
我正在使用SpringDataJPA将数据持久化到数据库中。 crudepository具有我正在使用的saveAll(Iterable)方法Java 如果违反约束,则CrudRespository saveAll方法引发异常,java,hibernate,spring-boot,spring-data-jpa,Java,Hibernate,Spring Boot,Spring Data Jpa,我正在使用SpringDataJPA将数据持久化到数据库中。 crudepository具有我正在使用的saveAll(Iterable)方法 因为我在实体字段上有一个唯一的约束,所以我想知道如果我试图保存一个包含违反该约束的对象的Interable,会发生什么 使用标准的saveAll方法,从simpleparepository,基本上可以多次调用save方法,每个实例一次 @Transactional public <S extends T> List<S> save
因为我在实体字段上有一个唯一的约束,所以我想知道如果我试图保存一个包含违反该约束的对象的Interable,会发生什么 使用标准的
saveAll
方法,从simpleparepository
,基本上可以多次调用save
方法,每个实例一次
@Transactional
public <S extends T> List<S> saveAll(Iterable<S> entities) {
// ... Omitted
for (S entity : entities) {
result.add(save(entity));
}
return result;
}
@Transactional
公共列表saveAll(可编辑实体){
//…省略
对于(S实体:实体){
结果.添加(保存(实体));
}
返回结果;
}
@Transactional
公共存储(S实体){
if(entityInformation.isNew(实体)){
em.persist(实体);
返回实体;
}否则{
返回em.merge(实体);
}
}
您可以看到使用了EntityManager
实例,调用persist
或merge
这意味着它的规则适用,您将收到一份通知
@Transactional
public <S extends T> S save(S entity) {
if (entityInformation.isNew(entity)) {
em.persist(entity);
return entity;
} else {
return em.merge(entity);
}
}