查询具有多个参数的布尔值

Query boolean with multiple parameters

如文档中所述(http://docs.spring.io/spring-data/jpa/docs/current/reference/html/),i我正在尝试编写如下查询:

public Page<AnyObject> findByActiveTrueAndUser(Boolean ativo, User user, Pageable pageable);

但我得到以下信息 error:What 可能是错误的?

参数值 [true] 与预期类型不匹配 [.com.User]

通过让 findByActiveTrueAndUser spring 数据只需要一个参数(在这种情况下为 User),因为您已经告诉 spring 给您一个有效的参数(findByActiveTrue 部分)。

因此,当您将布尔值作为第一个参数传递时,它无法匹配预期的 User 参数类型。

所以将您的方法签名更改为

public Page<AnyObject> findByActiveAndUser(Boolean active, User user, Pageable pageable);

 public Page<AnyObject> findByActiveTrueAndUser(User user, Pageable pageable);

您的方法名称

findByActiveTrueAndUser(...

声明您的查询应按 active = true 和用户进行过滤。 User 是唯一的过滤参数,因为方法名称暗示了 active = true。所以应该是

findByActiveTrueAndUser(User user, Pageable pageable);

否则,将您的方法名称更改为

findByActiveAndUser(...

动态过滤 active 和用户。