使用条件选择查询

sg24os4d  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(350)

我这里有三个表。用户可以应用可用的培训。当他/她选择培训时,它将根据他/她的用户ID放置在trainuser表中。我想在用户登录时选择该用户,并显示他/她尚未应用培训的trainuser表中的数据。与用户一样,用户id 1已应用2和3培训,但未应用1和4培训。我想用hibernate查询显示用户\u id 1和training 1和4。

csga3l58

csga3l581#

其中一些取决于您的域类的外观,您可以这样使用executequery:

Training.executeQuery( "from Training tr where tr.id not in ( select t.id from TrainUser tu join tu.training t join tu.user u where u.username = :uname )", [uname: 'ADMIN'] )

假设有以下域,则只包括相关字段:

class User {
    String username
}

class TrainUser {
    static hasMany = [training: Training, user: User]
}

class Training {
    String name
}

相关问题