春季CrudRepository支持deleteBy的一个列表吗?
问题描述:
Spring Data CrudRepository
是否提供了一个属性不是主键的条目列表的删除?春季CrudRepository支持deleteBy的一个列表吗?
public interface MyRepository extends CrudRepository<MyEntity, Long> {
@Modifying
@Transactional
public void deleteByName(List<String> names);
}
答
是这是可能的,所述documentation解释In
关键字用下面的例子。它是由实施例进一步示出该列表的参数不具有是实体的主密钥的类型的:
In
- >findByAgeIn(Collection<Age> ages)
In
和NotIn
也采取收集的任何亚类作为参数以及数组或可变参数。
,这反过来又可以被应用到你删除查询:
除了查询方式,查询推导计数和删除查询,可用。
是这样的:
void deleteByNamesIn(List<String> names);
答
删除由属性为不是主键是可能的。 对于列表的说法,我认为你正在寻找的in
操作,所以尝试以下操作:
void deleteByNamesIn(List<String> names);
(另一个小评论我想补充:在接口中定义的方法默认为公用,因为在接口内的私有方法声明是没有意义的,所以在我看来,在这里放弃public
是很好的风格)
好处在于'public'关键字 – reto 2015-01-21 09:33:06