我需要执行几个不同的查询,并且我想使用相同的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,但问题是所有字段都是String(DB中的VARCHAR)。
谢谢。