正如文档中所述(http://docs.spring.io/spring-data/jpa/docs/current/reference/html/),i'我试图写这样的查询:
public Page<AnyObject> findByActiveTrueAndUser(Boolean ativo, User user, Pageable pageable);
但我收到以下错误:可能出现什么问题?
参数值[true]与预期类型[.com.User]
不匹配答案 0 :(得分:1)
让findByActiveTrueAndUser
spring数据只需要一个参数(在这种情况下为User
),因为你已经告诉spring已经给你一些活跃的(findByActiveTrue
部分)。
因此,当您将布尔值作为第一个参数传递时,它不能与预期的User
类型的参数匹配。
因此,请将方法签名更改为
public Page<AnyObject> findByActiveAndUser(Boolean active, User user, Pageable pageable);
或
public Page<AnyObject> findByActiveTrueAndUser(User user, Pageable pageable);
答案 1 :(得分:1)
您的方法名称
findByActiveTrueAndUser(...
指出您的查询应按active
= true
和用户进行过滤。用户是唯一要过滤的参数,因为方法名称隐含了active = true。所以它应该是
findByActiveTrueAndUser(User user, Pageable pageable);
否则,将方法名称更改为
findByActiveAndUser(...
动态过滤active
和用户。