在jOOQ中,如果我想将一张表的行提取到jOOQ自动生成的POJO中,例如:
dsl.selectFrom(USER)
.where(USER.U_EMAIL.equal(email))
.fetchOptionalInto(User.class);
现在,假设我想在两个表之间进行联接,例如USER
和ROLE
,如何将结果提取到这两个表的POJO中?
这是使用 ResultQuery.fetchGroups(RecordMapper, RecordMapper)
Map<UserPojo, List<RolePojo>> result =
dsl.select(USER.fields())
.select(ROLE.fields())
.from(USER)
.join(USER_TO_ROLE).on(USER.USER_ID.eq(USER_TO_ROLE.USER_ID))
.join(ROLE).on(ROLE.ROLE_ID.eq(USER_TO_ROLE.ROLE_ID))
.where(USER.U_EMAIL.equal(email))
.fetchGroups(
// Map records first into the USER table and then into the key POJO type
r -> r.into(USER).into(UserPojo.class),
// Map records first into the ROLE table and then into the value POJO type
r -> r.into(ROLE).into(RolePojo.class)
);
请注意,如果您要LEFT JOIN
改用(如果用户不一定具有任何角色,并且希望每个用户获得一个空列表),则必须自己将NULL
角色转换为空列表。
确保已激活生成equals()
和hashCode()
POJO,以便能够将它们HashMap
作为as键:
<pojosEqualsAndHashCode>true</pojosEqualsAndHashCode>
在jOOQ中,如果我想将表的一行获取到jOOQ自动生成的POJO中,我会这样做,例如: 现在,假设我想在两个表之间进行连接,例如和,如何将结果获取到这两个表的POJO中?
我在这里浏览了关于在Jooq中将记录提取到可变pojo中的文档。 它说列被映射到最佳匹配的构造函数、属性或setter。 谁能分享更多的信息最佳匹配属性或setter意味着什么?
问题内容: 我不是数据库专家,所以我需要一些有关正在处理的查询的帮助。在我的照片社区项目中,我不仅要显示标签名称和计数器(标签中的图像数量),而且还想显示标签中最受欢迎的图像(最因果),以丰富标签的可视化效果。 表设置如下: 图像表包含基本图像元数据,重要的是因果字段 Imagefile表每个图像包含多个条目,每种格式一个 标签表保存标签定义 Tag_map表将标签映射到图像 在我通常的试验和错误
我正在jOOQ中执行一个普通的sql查询,并希望将其映射到jOOQ生成的pojo中。我希望我能做这样的事情: 然而,这是行不通的。字段不会映射到构建所需的类型,因为字段定义是DB列的定义,而不是FOO表的映射类型。目前我的代码看起来像这样: 是否有某种方法可以为结果查询提供我正在获取的s,以便它能够正确映射结果?我希望在某个地方有这样的能力: 但是我找不到它。这是我忽略的东西还是不支持的? 作为参
我有两个查询,它们查看不同的数据库表,并从每个表中的JSONB列中查找格式为[“tag1”、“tag2”、“tag3”]等的项。查询的目的是填充预测性下拉列表,即如果列表包含“dog”且用户类型为“d”,则应返回“dog”。这些查询中的每一个都单独工作,我可以很容易地将它们组合成一个JOOQ查询?
假设我正在构建一个依赖于react的webapp,一堆小型util库,然后拥有自己的代码。 捆绑代码时,我想把它分成3个捆绑包 react,react dom和其他类似react路由器dom的东西 虽然我可以使用rollup将代码绑定到一个文件中,并包含依赖项,但是否可以为1和2创建文件?