2
DBにT1とT2の2つのテーブルがあります。 T1の1列は、T2を参照する外部キーです。私は処理のためにT1とT2の列の一部だけが必要なので、必要な列だけを含むDTO T1T2を作成しました。 Hibernateを使ってDTOをこれら2つのテーブルにマップするには、class要素のsubselect属性を使用しました。Read Only Multitable DTO + Hibernate
<hibernate-mapping>
<class
name="com.xconnect.cdrrecorder.processing.dto.IngressNumRuleVoipProfile"
table="numbermodificationrules"
subselect="select ... from T1 left join T2 on id1=id2 where ...">
<cache usage="read-only"/>
...
</class>
</hibernate-mapping>
I iは、オブジェクトを選択する必要がある場合は、Hibernateは、2つの選択(他へのもの)に要求を変換することに気づきました。
これを行うより良い方法はありますか?パフォーマンスについてどう思いますか?
おかげ
あなたの答えをありがとう。この[リンク](http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/mapping.html)(5.1.1節)では、副選択の使用について説明します。私の質問は、照会に他の方法の代わりに副選択を使用する必要がある場合です。 –
リンクに記載されているように、_ビューを使用することもできますが、データベースに(つまり、従来のスキーマを使用して)ビューを作成することはできません。この場合、不変の読み取り専用エンティティを指定されたSQL副選択式にマップすることができます。可能であれば、その眺めに行ってください。 – ManuPK