为了账号安全,请及时绑定邮箱和手机立即绑定

jOOQ into() / fetchInto() 将属性映射为 null

jOOQ into() / fetchInto() 将属性映射为 null

牧羊人nacy 2023-08-04 17:40:46
我想将简单查询的结果集映射到我的域对象,但是当我使用该into()方法时,某些属性只是nullResult<DepartmentRecord> fetch = dsl.selectFrom(DEPARTMENT).fetch();List<Department> collect = fetch.stream().map(f -> new Department(f.getId(), f.getName())).collect(Collectors.toList());System.out.println("collect: " + collect);// WORKS// prints: collect: [Department [id=1, name=Mooh], Department [id=2, name=Mooh2]]   List<Department> into = fetch.into(Department.class);System.out.println("into: " + into);// DOESN'T WORK: name is null// prints: into: [Department [id=1, name=null], Department [id=2, name=null]]这是我的域对象/JPA 实体:@Entity@Data@AllArgsConstructor@NoArgsConstructorpublic class Department {    @Id    @GeneratedValue    private int id;    private String name;}我做错了什么?使用 Spring Boot 2.1.8、jOOQ 3.11.0、OpenJDK 11
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

因为您有一个默认构造函数,并且属性的名称是 dname,但我假设数据库列名称不同(例如名称)。

如果默认构造函数可用并且没有 JPA 列注释,或者 jOOQ 在类路径上找不到 javax.persistence API,jOOQ 将通过命名约定映射 Record 值:

查看完整回答
反对 回复 2023-08-04
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信