我有一个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相对较新,无法理解为什么这不起作用。
答案 0 :(得分:2)
此查询必须适合您:
select x,s
from com.package.IdLookupHDO x, com.package.SourceDataHDO s
where x.identifier = s.sourcePrimaryIdentifier
无论如何,发布IdLookupHDO
和SourceDataHDO
类的代码会很有用。如果这些实体是相关的,那么可以肯定地优化和改进查询。