【发布时间】:2011-10-23 10:46:52
【问题描述】:
我的数据库中有两个表,T1 和 T2。 T1 的一列是引用 T2 的外键。我只需要 T1 和 T2 的一部分列进行处理,因此我创建了一个仅包含必要列的 DTO T1T2。为了使用 Hibernate 将 DTO 映射到这两个表,我使用了 class 元素的 subselect 属性。
<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 会将请求转换为两个选择(一个选择另一个)。
有没有更好的方法来做到这一点?你对表演有什么看法?
谢谢
【问题讨论】:
标签: java hibernate dto subquery multi-table