Ниже приведен фрагмент моего файла сопоставления Hibernate.Мы используем собственный SQL-запрос, который отображается на наш возвращенный объект MyCode.В 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.Каков наилучший вариант для кэширования этого собственного запроса?
Спасибо