查找值 == x 的列表

find List where value == x

我正在尝试获取访问级别介于 0 和 10 之间的所有用户的列表。开发人员用户具有更高的访问级别,因为他们应该能够更改非常关键的数据。

当前版本returns所有用户。

List<UserType> userList = UserType.find.all();

这样可以吗:

select *
from user
where access_level >= 0
  and
  access_level <=10
;

比较值为:

UserType.getAccessLevel

table在数据库中被称为'acces_level'。

快速浏览the JPA examples for Playframework,似乎这完全在可能性范围内。

要表达它,你需要做这样的事情:

List<UserType> userList = UserType.find("access_level >= 0 AND access_level < 10");

这是一个版本 有效,但我想知道它如何与 find 方法一起使用。

for(int i = 0; i< userList.size(); i++){
    if(userList.get(i).getAccessLevel() > 10){
        userList.remove(i);
        i--;
    }
}

我不在家所以无法测试,但我相信你会需要 ge()

List<UserType> userList = UserType.find.where().ge("access_level", 10).findList();

我认为是Junction and greater than equals to

的组合