【发布时间】:2019-12-30 11:17:02
【问题描述】:
我有两个表:TABLE_A 和 TABLE_B,它们有一些同名的列。
TABLE_A (ID, NAME, ADDRESS)<br>
TABLE_B (ID, NAME)
我想从两个表中检索所有列,并使用 Jooq 将查询结果转换为 Pojo 类,如下所示:
List<MyPojo> result = query.select()
.from(TABLE_A)
.join(TABLE_B)
.on(TABLE_A.ID.equal(TABLE_B.ID))
.fetchInto(MyPojo.class);
我想用@Column注解来指定哪一列来自哪个表,但是Jooq好像不支持这个功能。我该如何实现呢?
import javax.persistence.Column;
public class MyPojo {
@Column(table = "TABLE_A", name = "ID")
private String idA;
@Column(table = "TABLE_A", name = "NAME")
private String nameA;
@Column(table = "TABLE_A", name = "ADDRESS")
private String addressA;
@Column(table = "TABLE_B", name = "ID")
private String idB;
@Column(table = "TABLE_B", name = "NAME")
private String nameB;
}
或者这个,
import javax.persistence.Column;
public class MyPojo {
@Column(name = "TABLE_A.ID")
private String idA;
@Column(name = "TABLE_A.NAME")
private String nameA;
@Column(name = "TABLE_A.ADDRESS")
private String addressA;
@Column(name = "TABLE_B.ID")
private String idB;
@Column(name = "TABLE_B.NAME")
private String nameB;
}
【问题讨论】:
-
为了记录,这里也有人问过这个问题:groups.google.com/forum/#!topic/jooq-user/HCZF9-QIHSc