【问题标题】:Map Table Record into JPA Entity将表记录映射到 JPA 实体
【发布时间】:2020-04-18 05:06:50
【问题描述】:

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

表名:table_name_a 字段名称:field_name_p、field_name_q、字段。

表名:table_name_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 的对象中,只有“字段”成员变量被正确映射,其余成员变量的 fieldNameP、fieldNameP 被映射到null 而不是表列中的对应值,并且 TableNameB 映射正确。

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

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

【问题讨论】:

    标签: java jooq


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-07-13
      • 2011-07-25
      • 1970-01-01
      • 2012-07-04
      • 2013-08-18
      • 2020-08-15
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多