【发布时间】:2012-02-21 19:15:34
【问题描述】:
以下是我的 Hibernate 映射文件的 sn-p。我们正在使用映射到我们返回的 MyCode 对象的本机 SQL 查询。查询中指定的表中只有少数实际映射到了 Hibernate。
<hibernate-mapping package="a.b.c.d">
<class name="MyCode" table="OVERRIDE" schema="SCHEMA1">
<id name="myId" type="java.lang.Long">
<column name=ID" length="22"/>
<generator class="assigned"/>
</id>
<property name="myCode" type="java.lang.String">
<column name=CD"/>
</property>
<property name="myDescription" type="java.lang.String">
<column name="DESC" length="120"/>
</property>
</class>
<sql-query name="retrieveCodes">
<return class="MyCode"/>
<![CDATA[
select distinct o.ID, ec.CD, o.DESC
from SCHEMA1.AEFX aefx, SCHEMA1.EC ec, SCHEMA1.FC fc, SCHEMA1.MYCODE o
....
....
我们想知道为这个查询添加缓存的好处。相关数据很少更新,但会被大量阅读。
我无法在 Hibernate 文档中得到关于 Hibernate 对这些类型查询的支持的明确答案。我猜二级缓存在这里可能不起作用,因为上面的大多数表都不为 Hibernate 所知。 对于本机查询的缓存,我们有什么最佳选择?
谢谢
【问题讨论】:
标签: hibernate