2012-01-25 9 views
0

MySql Workbenchで使用するとうまく機能するクエリを作成しましたが、Java EEプロジェクトで使用するとコンパイルできません。ここでJava EEがIN演算子でクエリをコンパイルしない

は、クエリです:

@NamedQuery(name = "Book.findByCourse", query = "SELECT b FROM Book b WHERE b.teaching IN (SELECT T.id FROM Teaching T, Course C WHERE T.course = C.id AND C.id = :course)") 

クエリが正常に動作しますが、私は私のJava EEプロジェクトでこのエラー持っている:

クエリのコンパイルエラー[...]、ラインを0、列0:IN式の無効な引数[SubqueryNode 左:NULL 右:null]、[entity.Teaching]型の予想される引数。

どうしたのですか?

+0

を教えてください。「Teacher」エンティティが定義されていますか? – adarshr

+0

私はすでにすべてのエンティティを完了しています:) – StepTNT

+0

':course'を定数値または'? '(疑問符文字)に置き換えると、クエリはコンパイルされますか? –

答えて

0

あなただけのサブクエリ内のIDを選択し、完全なPOJOオブジェクトにそれを比較しようとしているすべての最初に(それがすべてで可能かどうかわからない)

私の意見では、あなたは(ネイティブクエリで得なければならないのいずれか@あなたが望むものを達成するために、またはCriteria Builderを使用するためには、例えばhere