2012-04-26 23 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