[英]How to get number of rows deleted using deleteAll()?
我想使用 SpringRepository 获取deleteAll()
删除的行数。 如果我编写自己的函数,就很容易获得这个,就像在这个线程中一样。 但是,我想覆盖deleteAll()
方法。 以下代码不起作用:
public interface CalculationInfoRepository extends MongoRepository<CalculationInfo, Long> {
@Override
@Modifying
int deleteAll(Iterable<? extends CalculationInfo> entities);
}
因为我得到
返回类型与 CrudRepository<CalculationInfo,Long>.deleteAll(Iterable<? extends CalculationInfo>) 不兼容
我该怎么做?
CrudRepository#deleteAll
根据定义返回 void,您不能覆盖返回类型。 但是您可以创建自己的方法,例如int deleteAllAndGetCount
。
您可以使用org.springframework.data.jpa.repository.Query
注释来实现这一点:
public interface CalculationInfoRepository extends MongoRepository<CalculationInfo, String> {
@Modifying
@Query(value = "{id : {$in: :#{#ids}}}", delete = true)
int deleteCalculationInfos(@Param("ids") Iterable<String> ids);
}
它将按String
类型的 id 删除行并返回已删除行的数量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.