2012-05-13 16 views
0

モデルのリスト、(1.2.4)を見つける:playframeworkの使用はINと遊びに書かれた私は、次のコードの問題を持っている

List<MSprache> sprachen = MSprache.find("active = ?", true).fetch(); 
List<MFieldDscr> textey  = MFieldDscr.find("sprache IN", sprachen).fetch(); 

を、私はこれをテスト、ウィッヒテストを実行した場合コードの一部は、次のエラーが表示されます。

A java.lang.IllegalArgumentException has been caught, org.hibernate.hql.ast.QuerySyntaxException: unexpected token: null near line 1, column 48 [from models.Sprache.MFieldDscr where sprache IN] 

私はmisstakeがどこにあるか理解していない...誰も私を助けることができますか? Greetz V

答えて

1

私は、
あなたが達成しようとしているものについてとてもよく分からないが、私は、これはあなたが欲しいものだと思う:

String jpql = "FROM MFieldDescr fd WHERE fd.sprache " 
      + "IN (SELECT s FROM MSprache s WHERE s.active = ?) "; 
List<MFieldDscr> textey = MFieldDescr.find(jpql, true).fetch(); 

は、これは持っているすべてのMFieldDescrエンティティを検索しますにアクティブでtrueに設定されています。


エンティティのクエリに使用される言語は、詳細については、JPQLを参照してください。私はmeaned何をすることを本当にいなかった

+0

いいえ:ここで

は、いくつかの有用なリンクです。問題は、JPQLをこのようにすることではありませんでした...私は 'IN'構文を使用して任意のタイプのリストを与え、モデルは私が何を意味するのかを理解することができると考えました; –

+0

'MFieldDscr.find ( "sprache IN?"、sprachen).fetch(); '(疑問符がありません)? – maartencls

+0

はい、私は同じエラーを受け取ります:(モデルのIDだけでもしようとしています... –

関連する問題