gpt4 book ai didi

java - Jooq record.into(Pojo.class) 具有相同的字段名称问题

转载 作者:行者123 更新时间:2023-12-05 02:15:18 24 4
gpt4 key购买 nike

我有代码从 2 个表中检索 2 个对象(JooQ 生成的 POJO)的一条记录。

 Record record = dsl.select()
.from(ISSUE)
.leftJoin(CLIENT).on(CLIENT.ID.eq(ISSUE.CLIENT_ID))
.where(ISSUE.ID.eq(id))
.fetchOne();
JIssue jIssue = record.into(JIssue.class);
JClientRecord jClient = record.into(JClientRecord.class);

表 ISSUE 和表 CLIENT 都有 PK 字段“ID”。

问题是映射到 (POJO.class) 时,具有相同名称的表字段未正确映射到 POJO。在上面的示例中,jIssue 获取 jClient 的 id

当使用 TableRecords 而不是 POJO 的所有映射都正确完成时,但您不能在生成的 DAO 中使用 TableRecord,它需要生成的 POJO。

我怎样才能解决这个问题,以便 jooq 可以正确映射到生成的 pojo 字段?

最佳答案

POJO 类没有任何可靠的元信息来明确区分源记录中两个同名列。但是,您可以将连接的记录复制到每个表的 TableRecord 中,然后将该记录再次复制到您的 POJO 中:

JIssue jIssue = record.into(ISSUE).into(JIssue.class);
JClientRecord jClient = record.into(CLIENT).into(JClientRecord.class);

关于java - Jooq record.into(Pojo.class) 具有相同的字段名称问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185092/

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