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/