有没有办法将HQL命名查询外部化到外部文件.我有太多的命名查询和使用,@NamedQueries
并@NamedQuery
在我的实体类的头部受到伤害.
有没有办法外化到几个文件?
您可以将查询放入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;
然后,您必须将包添加到您的AnnotationConfiguration
.我使用Spring,所以这是设置annonatedPackages
属性的问题:
...
com.foo.domain
您也可以将类型和过滤器定义放在同一个文件中.