Hibernate 选择表的所有行(使用 .* )加入多个表,给出异常

标签 hibernate join

Hibernate 可以做到这一点吗?

select A.something, B.something, C.something, D.something , E.*  
      from  A  
      LEFT OUTER JOIN B on A.id = B.id_fk  
      LEFT OUTER JOIN C ON B.id = C.id_fk  
      LEFT OUTER JOIN D ON C.id = D.id_fk  
      LEFT OUTER JOIN E ON A.abc = E.abc;  

此查询在 SQL 中运行良好,但在 Hibernate 中给出以下异常:
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '*' near line 1

最佳答案

你不需要“*”。 hibernate 正在转动对象, * 没有意义,因为它用于指向 SQL 中的列。当你想要 E 时,它会转动 E 对象。

SELECT E FROM E



这是 SELECT * FROM E 的 HQL

当您调用 session.createQuery() 时,即使“FROM E”也有效。

关于Hibernate 选择表的所有行(使用 .* )加入多个表,给出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041134/

相关文章:

java - 将 HAR hibernate 存档迁移到 JBoss 7

java - 卡在递归 Fork/Join 上

mysql - 查询 2 个表 - JOIN

java - 以编程方式配置 Hibernate - 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

java - Mysql,Hibernate - 插入表时,它说字段没有默认值

c# - 如何将此 HQL 转换为 DetachedCriteria?

sql - Rails - 如何从产品类别中获取所有制造商?

java - Hibernate 仅保留第一个嵌套实体

Mysql,连接具有相同id的列

mysql - 使用任何方法进行查询优化