fly*_*ire 10 java hibernate hql
有没有办法将HQL命名查询外部化到外部文件.我有太多的命名查询和使用,@NamedQueries并@NamedQuery在我的实体类的头部受到伤害.
有没有办法外化到几个文件?
jav*_*ook 10
您可以将查询放入package-info.java域中,例如域对象的根包中.但是,你必须使用Hibernate自己@NamedQueries和@NamedQuery注释,而不是那些javax.persistence.
示例package-info.java文件:
@org.hibernate.annotations.NamedQueries({
@org.hibernate.annotations.NamedQuery(
name = "foo.findAllUsers",
query="from Users")
})
package com.foo.domain;
Run Code Online (Sandbox Code Playgroud)
然后,您必须将包添加到您的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>
Run Code Online (Sandbox Code Playgroud)
您也可以将类型和过滤器定义放在同一个文件中.
| 归档时间: |
|
| 查看次数: |
14287 次 |
| 最近记录: |