[英]Hibernate Criteria API equivalent to HQL select clause?
我想对两个持久性类进行合并查询。
在HQL中,这可以通过select子句来实现,
select new Family(mother, mate, offspr)
from DomesticCat as mother
join mother.mate as mate
left join mother.kittens as offspr
在上面的示例中,Family是一个以DemesticCat作为其构造器参数的组合类
HQL select子句的Criteria等效项是什么?
您必须为此使用ResultTransformer
。 Hibernate 3.2:HQL和SQL的变压器的博客文章给出了以下示例(其中StudentDTO
是非实体Bean):
List resultWithAliasedBean = s.createCriteria(Enrolment.class)
.createAlias("student", "st").createAlias("course", "co")
.setProjection( Projections.projectionList()
.add( Projections.property("st.name"), "studentName" )
.add( Projections.property("co.description"), "courseDescription" )
)
.setResultTransformer( Transformers.aliasToBean(StudentDTO.class) )
.list();
StudentDTO dto = (StudentDTO)resultWithAliasedBean.get(0);
在Criteria API中,此功能由Projections处理。 该文档有点混乱和过于复杂,但这就是您需要查看的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.