ネイティブクエリを実行して、Hibernateで結果セットを取得しようとしています。クエリからリストを取得できます。
Query nativeQuery = manager.createNativeQuery("select name, country_cd from fresher");
List<Object[]> amount = nativeQuery.getResultList()
for(Object[] e : amount)
{
for(Object n : e)
{
if(n != null)
System.out.print(n + " \t " + n.getClass());
}
}
期待される結果は次のとおりです。ジョー、米国
この結果は次のようになります:
クラスjava.lang.String->ジョー
クラスjava.lang.Character->U
データベースでは、name(VARCHAR2(100))およびcountry_cd(CHAR(2 BYTE))がテーブルfresherで定義されています。
Hibernateデータベースタイプに従って、char(2byte)はjava.lang.Characterと見なされます。
タイプchar(2b)のデータを文字列として取得するにはどうすればよいですか?
注:結果は動的である可能性があるため、結果クラス/エンティティを使用できません。