gpt4 book ai didi

java - JOOQ - 将结果转换为 Pojo

转载 作者:行者123 更新时间:2023-12-01 12:36:25 25 4
gpt4 key购买 nike

我看到JOOQ可以在我们使用.selectFrom(TABLE)时自动返回一个POJO或 .fetchInto(POJO.class);
但是是否可以将复杂查询的结果转换为多个 POJO ?

例子 :

此查询将所有列的数组返回到表 Support 和 Box 中。可以将它们转换为 Support 和 Box Pojo 吗?

Result<Record> results = query.select()
.from(BOX)
.join(SUPPORT)
.on(SUPPORT.ID.equal(BOX.SUPPORT_ID))
.where(SUPPORT.ID.equal("XXXX"))
.orderBy(BOX.ID)
.fetch();

我已经测试了方法 .intoGroups(SUPPORT.ID, Box.class) ,它工作正常。但我没有支持对象。

最佳答案

实例化为 SelectSeekStep1

aliases更方便:

Box b = BOX.as("b");
Support s = SUPPORT.as("s");

SelectSeekStep1<Integer, Integer> sql = query.select(b.ID, s.ID /* other columns */)
.from(b)
.join(s)
.on(s.ID.eq(b.SUPPORT_ID))
.where(s.ID.eq("XXXX"))
.orderBy(b.ID)
;

然后只需获取您需要的内容:
List<BoxRecord> boxes = sql.fetchInto(BOX); 
SupportRecord support = sql.limit(1).fetchOneInto(SUPPORT);

关于java - JOOQ - 将结果转换为 Pojo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25998180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com