2
我有兩個表在我的DB,T1和T2。 T1的一列是引用T2的外鍵。我只需要T1和T2的一部分列進行處理,因此我創建了一個只包含必要列的DTO T1T2。爲了使用Hibernate將DTO映射到這兩個表,我使用了類元素的subselect屬性。只讀多DTO +休眠
<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>
我注意到,當我需要選擇一個對象時,Hibernate將請求轉換爲兩個選擇(一個到另一個)。
有沒有更好的方法來做到這一點?你對演出有什麼看法?
感謝
感謝您的回答。在這[鏈接](http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/mapping.html)(5.1.1節)中,解釋了使用子選擇。我的問題是,在哪些情況下,我們需要使用子查詢來代替其他查詢方式? –
正如鏈接中所述,_有時您想使用視圖,但不能在數據庫中創建一個視圖(即使用傳統模式)。在這種情況下,您可以將不可變且只讀的實體映射到給定的SQL子查詢表達式_。如果可以的話,去看看。 – ManuPK