我想將簡(jiǎn)單查詢的結(jié)果集映射到我的域?qū)ο?,但是?dāng)我使用該into()方法時(shí),某些屬性只是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]]這是我的域?qū)ο?JPA 實(shí)體:@Entity@Data@AllArgsConstructor@NoArgsConstructorpublic class Department { @Id @GeneratedValue private int id; private String name;}我做錯(cuò)了什么?使用 Spring Boot 2.1.8、jOOQ 3.11.0、OpenJDK 11
1 回答

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
因?yàn)槟幸粋€(gè)默認(rèn)構(gòu)造函數(shù),并且屬性的名稱是 dname,但我假設(shè)數(shù)據(jù)庫列名稱不同(例如名稱)。
如果默認(rèn)構(gòu)造函數(shù)可用并且沒有 JPA 列注釋,或者 jOOQ 在類路徑上找不到 javax.persistence API,jOOQ 將通過命名約定映射 Record 值:
添加回答
舉報(bào)
0/150
提交
取消