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}

必要に応じて、スタック トレースも提供できます。

しかし、スタック トレースを見て感じるのは、これはサブクエリを記述する方法ではなく、何かが足りないということです。

このクエリの問題点を教えてください。

ありがとう!!

4

1 に答える 1

3

テーブルのエイリアスを指定する必要があります。その後、それは動作します

from TablePersistence table1 where table1.column1 not in (select table2.column2 from TablePersistence table2)
于 2012-04-26T07:36:51.087 に答える