我想知道是否可以将此HQL查询转换为条件API查询。
select s1
from Student
where
(
select max(s2.Score)
from Student
where s1.Id = s2.Id
)
= 10
(选择最高分数等于10的学生)
我不知道我是否可以使用分离标准,因为's1.Id = s2.Is'条件
对任何可以帮助我的人来说,Thanx
答案 0 :(得分:0)
她去了
var subquery = Session.CreateCriteria<Student>()
.Add(Restrictions.EqProperty("Id", "s1.Id"))
.SetProjection(Projections.Max("Score"));
var results = Session.CreateCriteria<Student>("s1")
.Add(Subqueries.Eq(10, subquery))
.List<Patient>();
但我不确定原始查询是否正确,因为如果Id是主键,则子查询应始终返回1行