我在尝试通过自定义sql加载类的包集合时遇到了一些问题。 这是我为班级设置的xml映射
<hibernate-mapping>
<class name="alekso.npe.model.Utente" table="VNPEZZ_UTE_MAT" lazy="false">
<id name="matricola" column="C_UTE_MAT">
</id>
<property name="nome" column="T_NOM" />
<property name="cognome" column="T_COG" />
<property name="email" column="T_EML" />
<bag name="ruoli" table="VNPEZX_UTE_APP_TRN"
inverse="false" lazy="true" fetch="select" cascade="all" >
<key column="C_UTE_MAT" />
<one-to-many class="alekso.npe.model.Ruolo" />
<loader query-ref="rolesQuery"/>
</bag>
</class>
<class name="alekso.npe.model.Ruolo" table="VNPEZH_TIP_USR"
lazy="false" where="C_APP = 'NPE'">
<id name="codice" column="C_TIP_USR">
</id>
<property name="nome" column="T_DES_TIP_USR"/>
</class>
<sql-query name="rolesQuery">
<return alias="role" class="alekso.npe.model.Ruolo"></return>
<load-collection alias="ruoli" role="alekso.npe.model.Ruolo" ></load-collection>
<![CDATA[select {ruolo.*}
from NPEA.vnpezx_ute_app_trn permesso join NPEA.vnpezh_tip_usr ruolo
on ruolo.c_tip_usr = permesso.c_tip_usr
where permesso.c_app = 'NPE'
and permesso.c_ute_mat = :matricola ]]>
</sql-query>
</hibernate-mapping>
但是当我运行应用程序时出现错误:
buildSessionFactory阶段中的org.hibernate.HibernateException: Errors in named queries: rolesQuery
。
你能告诉我这个映射有什么问题吗?
我在<return>
内使用和不使用<sql-query>
标记尝试过,但仍然无法正常工作
答案 0 :(得分:0)
我发现了错误...自定义查询定义中的行<load-collection alias="ruoli" role="alekso.npe.model.Ruolo" ></load-collection>
给出了错误。
没有那条线,一切都运行良好(差不多......即使我设置懒惰=&#34;假&#34;无处不在,角色集合也是懒惰的)。
但我删除的那一行是在文档上,所以我想知道它为什么是错的。
我将问题留给其他人提供一些暗示。