【问题标题】:Jooq select pojos from many to many relationshipJooq 从多对多关系中选择 pojos
【发布时间】:2022-01-13 20:02:08
【问题描述】:

我刚开始学jooq,我有这3张桌子:

             _______________
            |   USER_ROLES  |
            | userid        |
            | roleid        |
            |_______________|
         ____/___        __\____
        |  USERS |      | ROLES |
        |___id___|      |___id__|

我需要为具有 id 的用户选择所有角色 pojos

public List<Roles> getRolesForUser(Long userId) {
   List<Roles> roles = dsl.select .... where(User.id.eq(id)).fetch()....
   return roles;
}

我不能正确地用谷歌搜索,所以很抱歉,我正在寻求帮助。

【问题讨论】:

    标签: java jooq


    【解决方案1】:

    我假设您为数据库生成代码,那么查询将如下所示:

    public List<Roles> getRolesForUser(Long userId) {
       List<Roles> roles = dsl
            .select(ROLES.fields())
            .from(ROLES)
            .join(USERS_ROLES).on(USER_ROLES.ROLEID.eq(ROLES.id)
            .where(USER_ROLES.USERID.eq(userId)
            .fetchInto(Roles.class);
       return roles;
    }
    

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 1970-01-01
      • 1970-01-01
      • 2016-03-31
      • 2017-09-26
      • 2017-01-24
      • 2013-11-13
      • 1970-01-01
      • 2017-07-29
      相关资源
      最近更新 更多