Jooq 从多对多关系中选择 pojos
Posted
技术标签:
【中文标题】Jooq 从多对多关系中选择 pojos【英文标题】:Jooq select pojos from many to many relationship 【发布时间】: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;
我不能正确地用谷歌搜索,所以很抱歉,我正在寻求帮助。
【问题讨论】:
【参考方案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;
【讨论】:
以上是关于Jooq 从多对多关系中选择 pojos的主要内容,如果未能解决你的问题,请参考以下文章