Вы можете поместить запросы в класс package-info.java
, скажем, в корневой пакет объектов вашего домена. Однако вы должны использовать собственные аннотации @NamedQueries
и @NamedQuery
в Hibernate, а не аннотации javax.persistence
.
.
Пример package-info.java
file:
@org.hibernate.annotations.NamedQueries({
@org.hibernate.annotations.NamedQuery(
name = "foo.findAllUsers",
query="from Users")
})
package com.foo.domain;
Затем вы должны добавить пакет в AnnotationConfiguration
. Я использую Spring, поэтому здесь нужно задать свойство annonatedPackages
:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="annotatedClasses">
<list>
...
</list>
</property>
<property name="annotatedPackages">
<list>
<value>com.foo.domain</value>
</list>
</property>
Вы также можете поместить определения типов и фильтров в один и тот же файл.