【问题标题】:Select statement in from clause in HibernateHibernate中from子句中的select语句
【发布时间】:2011-10-03 14:41:29
【问题描述】:

我有三个表名为:

  • schedule (id, status)
  • criteis (id, name, number, bank)
  • info (id, compleInfo)

id 对于所有三个表都是通用的。

我的要求是我想要银行、crities 表中的数字和 info 表中的 compleInfo 以及 Schedule 表中的状态计数。

我用过这个查询

select count(s.status), a.compleInfo, a.bank, a.number 
from (select in.compleInfo, cr.bank, cr.number 
      from criteis cr, info in  where cr.id=in.id ) a
left join schedule s on a.id = s.id group by a.id

它在 MYSQL 编辑器上运行良好,但是当我在 Hibernate 上运行它时,我遇到了异常

引起:java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException:意外令牌:(附近 第 1 行,[ select count(s.status), a.compleInfo, a.bank, a.number from (select in.compleInfo, cr.bank, cr.number from criteis cr, info in 其中 cr.id=in.id ) a.id = s.id group by 上的左加入计划 s a.id]

我google了一下,发现Nhibernate HQL Subselect querieshql不支持from子句中的子查询。

有没有其他方法可以在 Hibernate 中编写上述查询?

【问题讨论】:

    标签: hibernate sql


    【解决方案1】:

    HQL 允许您遍历对象树,但它不是 SQL。

    如果要运行 SQL 查询,必须使用native SQL queries

    【讨论】:

    • 非常感谢 Aaron 的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    相关资源
    最近更新 更多