Hibernate JOIN Dot节点没有左侧

时间:2016-03-31 09:20:35

标签: hibernate

我有一个SQL查询,其工作原理如下:

 select x.*,s.* from ID_LOOKUP x JOIN SOURCE_DATA s ON x.IDENTIFIER = s.SOURCE_PRIMARY_IDENTIFIER;

这可以按预期工作,但是当我尝试在hibernate中做同样的事情时,我得到一个错误说

 java.lang.IllegalStateException: DOT node with no left-hand-side!

我的hibernate代码如下

 Query q = session.createQuery("select x,s from com.package.IdLookupHDO x JOIN com.package.SourceDataHDO s ON x.identifier = s.sourcePrimaryIdentifier");

我对hibernate相对较新,无法理解为什么这不起作用。

1 个答案:

答案 0 :(得分:2)

此查询必须适合您:

select x,s 
from com.package.IdLookupHDO x, com.package.SourceDataHDO s
where x.identifier = s.sourcePrimaryIdentifier

无论如何,发布IdLookupHDOSourceDataHDO类的代码会很有用。如果这些实体是相关的,那么可以肯定地优化和改进查询。