2012-04-26 98 views
0

當我試圖寫一個子查詢以這種格式休眠:使用子查詢

listObj = session.createQuery("from TablePersistence where column1 not in (select column2 from TablePersistence)").list(); 

注意,我在子查詢中使用同一個表的不同列中的錯誤。

但是當它執行時我得到一個異常。例外消息是:

No data type for node: org.hibernate.hql.ast.tree.IdentNode 
\-[IDENT] IdentNode: 'column2' {originalText=column2} 

如果需要,我也可以提供堆棧跟蹤。

但是,我覺得從堆棧跟蹤看,這不是寫一個子查詢的方式,我缺少一些東西。

請告訴我這個查詢有什麼問題。

謝謝!

回答

3

您需要提供表別名。然後它會工作

from TablePersistence table1 where table1.column1 not in (select table2.column2 from TablePersistence table2) 
+0

完美!謝謝!! – kanishk 2012-04-26 08:06:28