我需要执行几个不同的查询,并且我想使用相同的 POJO 来获取结果。我从这些查询中得到的是相同列的组合,我可以重复使用相同的列sqlResultSetMapping
吗?
我正在使用 JPA-2.1 和 Java 8
我的查询类似于:
select tableA.a, tableB.b, tableA.c
from tableA
inner join tableB
select tableA.a, tableB.b
from tableA
inner join tableB
select tableB.b, tableA.c
from tableA
inner join tableB
我的 POJO 是这样的:
public class Result {
String a;
String b;
String c;
}
最后,我的 SqlResultSetMapping 是:
@SqlResultSetMapping(
name="GeneralResult",
classes = {
@ConstructorResult(
targetClass = Result.class,
columns = {
@ColumnResult(name="a", type=String.class), @ColumnResult(name="b", type=String.class), @ColumnResult(name="c", type=String.class)
}
)
}
)
当我使用字段 a、b 执行第一个查询时,调用工作正常。问题是当我执行其他两个查询之一时。
我可以SqlResultSetMapping
对这些查询使用相同的吗?
我尝试了几个 ConstructorResult 但问题是所有字段都是字符串(数据库中的 VARCHAR)。
提前致谢。