gpt4 book ai didi

java - 将表记录映射到 JPA 实体

转载 作者:行者123 更新时间:2023-12-01 19:07:55 27 4
gpt4 key购买 nike

我在两个不同的依赖项 DependencyA 和 DependencyB 中有两个类 TableNameA 和 TableNameB,分别代表表 table_name_a 和 table_name_b 以及下面描述的字段。

表名:表名_a字段名称:字段名称_p、字段名称_q、字段。

表名:表名_b字段名称:field_name_r、field_name_s。

@Entity
@Table(name = "table_name_a")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TableNameA{
@Id
private int field;
private int fieldNameP;
private int fieldNameQ;

}


@Data
@AllArgsConstructor
@NoArgsConstructor
public class TableNameB{
@Column(name = "field_name_r")
private int fieldNameR;
@Column(name = "field_name_s")
private int fieldNameS;

}
log.info(dslContext.selectFrom(TableNameA.TABLE_NAME_A)
.limit(4)
.fetch()
.into(dependencyA.TableNameA.class).toString());
log.info(dslContext.selectFrom(TableNameB.TABLE_NAME_B)
.limit(4)
.fetch()
.into(dependencyB.TableNameB.class).toString());

我正在使用 jooq,如上所述,我想将 table_name_a 和 table_name_b 记录映射到 TableNameA 和 TableNameB 类中,但在 TableNameA 的对象中,只有“field”成员变量被正确映射,其余成员变量的 fieldNameP、fieldNameP 被映射到null 而不是表列中的相应值,并且 TableNameB 已正确映射。

这里的问题是成员变量的fieldNameP,fieldNameP映射到null而不是表列中的对应值

还有一个条件,我无法编辑 TableNameA 和 TableNameB 类,相反,如果我没有找到解决方案,我必须编写自己的模型来映射。

最佳答案

您所描述的是 jOOQ 中的一个已知问题:https://github.com/jOOQ/jOOQ/issues/4586 。此外,没有 @Column 注释的字段也应该被映射,除非它们被注释为 @Transientfield 正确映射的原因是它有一个 @Id 注释。

目前,我建议您为链接的 GitHub 问题投票,以便该问题得到关注并可以正确确定优先级。

关于java - 将表记录映射到 JPA 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514118/

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