【问题标题】:How to write subquery in hibernate如何在休眠中编写子查询
【发布时间】:2020-04-13 00:34:24
【问题描述】:

我有 SQL 查询,我不知道如何在 hibernate 中编写

select lp.lnprdtname,la.lid,la.step 
from mfic.lnapp as la 
left join mfic.lnprdt as lp on lp.lnprdtid in 
    (select lnprdtid from mfic.lnapp where lid in 
        (select lid from mfic.lnbrwr where brwrid in 
            (select brwrid from mfic.brwr where uid=1)))
where la.lid in 
    (select lid from mfic.lnbrwr where brwrid in 
        (select brwrid from mfic.brwr where uid=1));

【问题讨论】:

  • 这个查询应该被重构为使用连接。

标签: hibernate


【解决方案1】:

正如这里所说: Chapter 14. HQL: The Hibernate Query Language - 14.13. Subqueries

from DomesticCat as cat
where cat.name not in (
    select name.nickName from Name as name
)

请注意,HQL 子查询只能出现在 select 或 where 子句中。

无论如何,我不确定在一个语句中连接这么多子查询是否是个好主意...

【讨论】:

  • 是的,我会尝试在数据库视图中编写这些子查询,并使 Hibernate 访问更容易。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-26
  • 2016-05-16
  • 1970-01-01
  • 1970-01-01
  • 2014-06-23
相关资源
最近更新 更多