gpt4 book ai didi

java - Hibernate Criteria API 等同于 HQL select 子句?

转载 作者:搜寻专家 更新时间:2023-10-31 19:58:49 24 4
gpt4 key购买 nike

我想对两个持久类进行组合查询。

在 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: Transformers for HQL and 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);

关于java - Hibernate Criteria API 等同于 HQL select 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2801764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com