查询具有多个参数的布尔值
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
和用户。
如文档中所述(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
和用户。