Hibernate选择表的所有行(使用.*)连接多个表,给出Exception

sun*_*dev 10 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;  
Run Code Online (Sandbox Code Playgroud)

这个查询在SQL中运行正常,但在Hibernate中给出了以下Exception:

org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '*' near line 1
Run Code Online (Sandbox Code Playgroud)

kom*_*mer 17

你不需要"*".hibernate正在转向对象,*对于在SQL中指向列是没有意义的.当你想要E时,它会转动E对象.

选择E来自E.

这是HQL for SELECT * FROM E

甚至"FROM E"工作,当你调用session.createQuery()时.