Tal*_*lib 8 sql-server hibernate hql subquery hibernate-criteria
我从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
);
Run Code Online (Sandbox Code Playgroud)
我试图在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();
Run Code Online (Sandbox Code Playgroud)
我遇到这种方法的错误.请帮我写一下hibernate的标准,因为我对此很新.
第二个 Append 的内部子查询中的 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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
274 次 |
| 最近记录: |