sql-server – 将SQL查询转换为休眠标准和预测
发布时间:2020-12-12 06:28:56 所属栏目:MsSql教程 来源:网络整理
导读:我从SQL查询: select e.* from terminal_remote_deployment ewhere id = (select top 1 e1.id from terminal_remote_deployment e1 where e1.Terminal_info_id = e.Terminal_info_id order by e1.version desc ); 我试图用HQL写它: final StringBuilder hql
我从SQL查询:
select e.* from terminal_remote_deployment e where id = (select top 1 e1.id from terminal_remote_deployment e1 where e1.Terminal_info_id = e.Terminal_info_id order by e1.version desc ); 我试图用HQL写它: final StringBuilder hql = new StringBuilder(); hql.append(" from TerminalRemoteDeployment e"); hql.append(" where e.id = (Select TOP 1 e1.id from TerminalRemoteDeployment e1 where e1.terminalInfo.id = e.terminalInfo.id order by e1.version desc)"); Query query = getEntityManager().createQuery(hql.toString()); resultList = (List<TerminalRemoteDeployment>) query.getResultList(); 这种方法我遇到了错误.请帮我写一下hibernate的标准,因为我对此很新. 解决方法第二个附加内部子查询中的Where子句.它应该是terminal_Info_id而不是terminalInfo.id. final StringBuilder hql = new StringBuilder(); hql.append(" from TerminalRemoteDeployment e"); hql.append(" where e.id = (Select TOP 1 id from TerminalRemoteDeployment e1 where e1.terminal_Info_id = e.terminal_Info_id order by e1.version desc)"); Query query = getEntityManager().createQuery(hql.toString()); resultList = (List<TerminalRemoteDeployment>) query.getResultList(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |