2009-07-22 12 views
0

午後、私はnHibernateを学ぼうとしていますが、それほど大したことはありません。nhibernate:集合体をマップする方法

私は、SQLクエリの結果を取得する必要があります:

select patient.name, 
     discipline.description, 
     sum(patient.enddate - patient.startdate) as totaltime 
from treatment 
join patient on patient.id = treatment.patientId 
join discipline.id = treatment.disciplineId 

私はちょうどそれを表示し、結果を永続化する必要はありません。

  • 私はHQLを直接使用する場合:

それは何のオブジェクトをインスタンス化し、私に戻りますか?結果セットの列と同じフィールドを含むオブジェクトのリストを動的に作成しますか?ドキュメントはこの情報を除外します。

  • 私はマッピングする必要がある場合:

を使用すると、「メタ」オブジェクトまたは結合されたテーブル(たとえば「治療」)のいずれかにマッピングを作成しますか?

ありがとう

答えて

0

これは、DTOオブジェクト(「データ転送オブジェクト」)を使用して実現できます。返すデータだけを含むオブジェクトを作成します。初期化コンストラクタを追加します。 hqlの形式は次のとおりです。

新しいxydto(x.value、y.value)をx join x.yから選択します。

オブジェクトコンストラクタで集約関数を使用するのは好きではないようです。

関連する問題