2016-03-31 15 views
0

hiçbir sol-tarafı ile Dot düğümünü JOIN şudur:hazırda Ben çalışan bir SQL sorgusu var

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

bu beklendiği gibi çalıştığını ancak hazırda aynı şeyi yapıyor çalıştığımda söyleyerek bir hata alıyorum

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

şöyle

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

Benim hazırda kodu ben hazırda nispeten yeni duyuyorum ve neden thi bilemiyorum olduğunu s çalışmıyor.

cevap

1

Bu sorgu sizin için çalışmalıdır:

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

Neyse, sen IdLookupHDO ve SourceDataHDO sınıfların kod sonrası bu faydalı olacaktır. Bu varlıklar bir şekilde ilgiliyse, sorgu kesinlikle optimize edilebilir ve geliştirilebilir.