如何将SQL子查询转换为HQL?
我问了一个问题 解决办法是:如何将SQL子查询转换为HQL?,sql,postgresql,hibernate,hql,Sql,Postgresql,Hibernate,Hql,我问了一个问题 解决办法是: select * from table_name t inner join (select max(seq) seq, row_name from table_name group by row_name) t1 on t1.row_name = t.row_name and t.seq = t1.seq 但是我需要把它转换成HQL。解决方案在中使用了HQL中不允许的子查询 如何使用SELECT或WHERE将子查询转换为HQL 谢谢。您可以通过以下方式实
select * from table_name t
inner join
(select max(seq) seq, row_name from table_name group by row_name) t1 on t1.row_name = t.row_name and t.seq = t1.seq
但是我需要把它转换成HQL。解决方案在中使用了HQL中不允许的子查询
如何使用SELECT或WHERE将子查询转换为HQL
谢谢。您可以通过以下方式实现您的目标,请参阅 试试这个
List<Object[]> objects = session.createNativeQuery(
"select * from table_name t"
+ "inner join"
+ "(select max(seq) seq, row_name from table_name group by row_name) t1"
+ "on t1.row_name = t.row_name and t.seq = t1.seq")
.list();
这表明通过本机查询在HQL中使用子查询yo不能在HQL上使用此语法,您可以为子查询添加一个视图,然后将其映射到模型上,然后将其加入到查询中。