Spring Data CrudRepository
是否通过非主键的属性删除条目列表?
public interface MyRepository extends CrudRepository<MyEntity, Long> {
@Modifying
@Transactional
public void deleteByName(List<String> names);
}
答案 0 :(得分:10)
是的,documentation使用以下示例解释了In
关键字。示例进一步显示,list参数不必是实体主键的类型:
In
- &gt; findByAgeIn(Collection<Age> ages)
In
和NotIn
也将Collection的任何子类作为参数以及数组或变量。
然后可以将其应用于您的删除查询:
除查询方法外,还可以查询计数和删除查询的查询。
类似的东西:
void deleteByNamesIn(List<String> names);
答案 1 :(得分:3)
可以通过不是主键的属性进行删除。
对于list参数,我认为您正在寻找in
运算符,请尝试以下操作:
void deleteByNamesIn(List<String> names);
(我可能会补充的另一个小评论:默认情况下,接口中定义的方法是公共的,因为接口声明中的私有方法没有意义。所以在我看来放弃public
是好方式这里)