Java:接口 org.springframework.data.jpa.repository.JpaRepository.JpaRepository<T,ID> 中的方法 saveAll



我的实体

public class CarModelEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "model_id")
private Integer modelId;
@Column(name = "model_name")
private String modelName;
@Column(name = "is_parent")
private Integer isParent;
@Column(name = "parent_id")
private Integer parentId;
@Column(name = "created_by")
private Integer createdBy;
@Column(name = "created_at")
private Timestamp createdAt;
@Column(name = "updated_at")
private Timestamp updatedAt;
}

我的代码:

CarModelEntity data = carModelRepo
.saveAllAndFlush(CarModelEntity.builder()
.isParent(1)
.modelName(value)
.build());

语法错误:

Error:(49, 25) java: method saveAllAndFlush in interface org.springframework.data.jpa.repository.JpaRepository<T,ID> cannot be applied to given types;
required: java.lang.Iterable<S>
found: com.*****.catprices.mobileapp.model.entity.CarModelEntity
reason: cannot infer type-variable(s) S
(argument mismatch; com.****.catprices.mobileapp.model.entity.CarModelEntity cannot be converted to java.lang.Iterable<S>)

我的存储库:

public interface CarModelRepo extends JpaRepository<CarModelEntity, Integer> {
}

将其作为答案重新存储

saveAllAndFlush接受Iterable对象,当你给出简单的object时,你可以将你的CalModelEntity添加到实现Iterable的object中,如ArrayList、HashMap等,然后将object传递给saveAllAndFlush方法。并且还保存AllAndFlush返回List of Object,因此您需要一个List来接收该方法的返回值。

以下是一些示例代码

List<CarModelEntity> paramCarModelEntityList = new ArrayList<CarModelEntity>();
paramCarModelEntityList.add(CarModelEntity.builder()
.isParent(1)
.modelName(value)
.build());
List<CarModelEntity> carModelEntityList = repository.saveAllAndFlush(paramCarModelEntityList);

以下是一些参考链接:

IterableJpaRepository

最新更新