如何使用 quarkus panache 中具有不同值的属性进行查询

how to query with an attribute that have different values in quarkus panache

我想计算状态不同于 'UNEMPLOYED';

的所有用户

我的 Collection 看起来像这样:

  [   
  {
     "id" : "1",
     "name": "Mr.A",
     "status": "UNEMPLOYED"
  },
  {
     "id" : "2",
     "name": "Mr.B",
     "status": "WORKING"
  },
  { 
     "id" : "3",
     "name": "Mr.B",
     "status": "WORKING"
  },
  { 
     "id" : "4",
     "name": "Mr.D",
     "status": "STUDYING"
  }
  ] 

这是我的查询:

User.count("{'userStatus': :userStatus}",
            Parameters.with("userStatus", UserStatus.STUDYING)
            .and("userStatus", UserStatus.WORKING)
           )

我期望的是查询应该 return 3 但它给了我 1。 你能帮我找出错误的地方吗?非常感谢。

您所做的是有效地将 userStatus 设置为单个值。

您可能想要执行以下操作:

User.count("where userStatus = ?1 or userStatus = ?2", UserStatus.STUDYING, UserStatus.WORKING)