2010-04-18 1 views
0

Я не использую HibernateTemplate, но работаю с getCurrentSession() в моем DAO.Spring 2.5 Hibernate 3.5 NamedQuery

Я хотел бы знать, как объявить именованные запросы Hibernate в файле beans.xml (я не использую hbm.xml).

Возможно, у Spring есть альтернативные способы объявить Hibernate поименованные запросы?

ответ

1

Вы можете поместить именованные запросы на предприятие с помощью аннотаций:

@NamedQueries({@NamedQuery(name="Entity.findAll", query="....")}) 

Кроме того, при использовании JPA, есть orm.xml, The XSD говорит нам, что вы можете использовать:

<named-query name="Entity.findAll"> 
    <query><![CDATA[SELECT e FROM Entity e]]</query> 
</named-query> 
+0

@Bozho Ну я не используйте orm.xml, как я уже сказал. Вы можете поместить все настройки hibernate, включая классы сопоставления непосредственно в файл spring beans.xml. Поэтому мне интересно, как поставить именованный запрос. Но примечание @NamesQueries выглядит лучше, где вы его положили? Прямо в код DAO? – EugeneP

+0

Поместите его на класс сущности. И вы сказали, что вы не используете hbm.xml, а не orm.xml. Я предположил, что вы используете JPA-файлы xml (потому что beans.xml не является именем по умолчанию весной). – Bozho