2016-07-11 6 views
0

私は、さまざまなSQLテーブルからレコードをフェッチするための一般的なHibernateコードを記述したいという問題を解決しようとしています。私は各テーブルからいくつかの列が必要です、いくつかの既存の技術的な負債のため、いくつかのテーブルでは、わずかに異なる列名を持つ同じ/類似のデータが列に格納されています。特定のクラスへのマッピングなしでのhibernateの使用

私が従うアプローチは、(org.hibernate.Sessionにある)createSQLQuery APIを使用してカスタムクエリを渡すことです。

これは私にリストのリストを返します。

[["val 1", "val 2", "val 3"], ["val 4", "val 5", "val 6"]] 

これは、列名のキーを持つ辞書のように見えます。私は明らかに自分自身をコーディングすることができます。しかし、特定のクラスにマップしなくても、Hibernateにそのことを伝えることは可能でしょうか?

+0

の結果を持っています(AliasToEntityMapResultTransformer.INSTANCE); '? 'List >'という結果を返します。 – Apostolos

+0

これは私が必要としていたものです!先に進んで答えとして投稿してください。正しい答えとしてマークします。 = D – Beebunny

+0

うれしいこと:) – Apostolos

答えて

1

クエリにResultTransformerを設定してみてください。

query.setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE); 

これは私は、これはあなたのケースで動作する場合は知らないが、あなたは `query.setResultTransformerを試してみましたタイプList<Map<String,Object>>

関連する問題