如何在springrepository的spring boot中使用findAll方法

时间:2016-05-24 11:31:17

标签: java spring spring-boot spring-data-jpa

我的UserRepository

public interface UserRepository extends CrudRepository<User, Integer> {
    List<User> findAll(List<Integer> ids);
}

错误:

  

引起:   org.springframework.data.mapping.PropertyReferenceException:没有   找到属性findAll的用户类型

参考 - http://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/repository/CrudRepository.html?is-external=true#findAll-java.lang.Iterable-

有人可以告诉我如何根据ID列表获取User个对象的列表。

这是有用的

@Query(" select new User(id,x,y,z) from User b where b.id in ?1 ")
List<User> findById(List<Integer> id);

1 个答案:

答案 0 :(得分:6)

首先,我会将存储库重命名为UserRepository,因为有2个User类令人困惑。

根据定义,

findAll()旨在获得没有标准的所有模型。您应该添加一个名为的方法 findByIdIn(Collection<Integer> ids)

使用List<User> findAll(Iterable<Integer> ids)List<User> findByIdIn(List<Integer> ids)