日期:2014-05-17  浏览次数:20808 次

数据库高手帮把这个SQL转为HQL,谢谢了

select * from sys_message m
where EXISTS(
select max(sysm.message_id) as message_id,max(create_time) as create_time 
from sys_message sysm 
where sysm.flag=1 
and sysm.accept_Sys_User_id = 10026 
and sysm.task_id is null
and m.message_id  = sysm.message_id
group by market_task_id
);

如题,上面是我写的一个sql语句,实现的功能是从一组数据中,相同任务,查出该任务最近日期的一条消息记录;我对hql不熟悉。请高手帮忙看下这个查询,并转为hql,谢谢

------解决方案--------------------
sql转hql的规则是把表名和字段名,换成对象名和字段名,比如sys_message表对应的是message对象,message_id对应的是message类中的id,就可以这样 from message as mess where mess.id=。。。。。类似于这样的
------解决方案--------------------
如果 SQL 都能转换成为 HQL 的话,那 Oracle 索性被 Hibernate 收购算了!
------解决方案--------------------
这没法转。
------解决方案--------------------
干嘛要转成hql?  hibernate不也一样可以用sql?