Grails - CreateCriteria用于检索包含查询中任何元素的任何条目

时间:2016-02-01 13:18:22

标签: grails hql criteria

鉴于我有这个域名:

class Game {
   Set<GameType> gameType
   String name
}

这个枚举:

enum Gametype {
    RHYTHM, ADVENTURE, PUZZLE, RPG, HORROR, FIGHTING, MOBA, MMO
}

我需要检索包含查询中指示的至少一种游戏类型的游戏列表。我尝试使用此代码:

def retrieveGamesThatMayBeUnderGameTypes( List<GameType> listOfGameTypes) {
   return Game.createCriteria().list(){
      'in'("gameType", listOfGameTypes)
   }
}

但是,它返回NullPointerException。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

请确保您的枚举(Gametype)有一个名为id的字段。类似的东西:

enum Gametype {
    RHYTHM('RHYTHM'),
    ADVENTURE('ADVENTURE'),
    ....

    String id

    Gametype(String id) {
        this.id = id
    }
}

有关详情,请参阅此答案:Grails Enum Mapping