Hibernate Criteria API和标量子查询

时间:2010-02-15 10:45:14

标签: hibernate subquery scalar

我想将HQL查询转换为Criteria API,但我不知道是否可以使用Criteria编写相同的内容。

HQL看起来像这样:

select distinct new DataTransferObject(property1, property2, ..., (select NVL(property3, null) from Table1 where property3 in elements(...) and ... ), property4, ..., (select .....), ...)
from Table2 as table2
left join table2.property5 as property5
(... more left joins ...)
where
.....

我开始写这样的Criteria:

getSession().createCriteria(Table2.class, "table2")
.createAlias("table2.property5", "property5")
(...more createAlias...)
.add(Expression/Restriction
....

然后我创建了一个带有所有构造函数参数的ProjectionList,除了那些(select ...)。

最后:

criteria.setProjection( projectionList).setResultTransformer( Transformers.aliasToBean(DataTransferObject.class) ) .list()

我的问题是如何将这些(select ...)添加到projectionList ????

我尝试实现的是在select子句(标量子查询)中创建子查询,而不是在where子句中,而是使用Criteria API

0 个答案:

没有答案