いくつかの異なるクエリを実行する必要があり、同じ 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 を使用して最初のクエリを実行すると、呼び出しは正常に機能します。問題は、他の 2 つのクエリのいずれかを実行するときです。
SqlResultSetMapping
それらのクエリに同じものを使用できますか?
いくつかの ConstructorResult を試しましたが、問題はすべてのフィールドが String (DB の VARCHAR) であることです。
前もって感謝します。