0
我沒有使用HibernateTemplate,而是在我的DAO中使用getCurrentSession()。Spring 2.5 Hibernate 3.5 NamedQuery
我想知道如何在beans.xml文件中聲明Hibernate命名查詢(我不使用hbm.xml)。
也許Spring有替代方法來聲明Hibernate命名查詢?
我沒有使用HibernateTemplate,而是在我的DAO中使用getCurrentSession()。Spring 2.5 Hibernate 3.5 NamedQuery
我想知道如何在beans.xml文件中聲明Hibernate命名查詢(我不使用hbm.xml)。
也許Spring有替代方法來聲明Hibernate命名查詢?
你可以使用註解把命名查詢的實體:
@NamedQueries({@NamedQuery(name="Entity.findAll", query="....")})
此外,如果使用JPA,有orm.xml
,該XSD告訴我們,你可以使用:
<named-query name="Entity.findAll">
<query><![CDATA[SELECT e FROM Entity e]]</query>
</named-query>
@Bozho嗯,我正如我所說的,不要使用orm.xml。你可以把你所有的hibernate設置,包括直接映射類到spring beans.xml文件。所以我想知道如何把一個命名查詢THERE。但@NamesQueries註釋看起來更好,你把它放在哪裏?正確進入DAO代碼? – EugeneP 2010-04-18 16:37:47
將它放在實體類上。你說你不使用hbm.xml,而不是使用orm.xml。我以某種方式假定您正在使用JPA xml文件(因爲beans.xml不是在春天的默認名稱)。 – Bozho 2010-04-18 21:54:05