オブジェクトをItem
含むクラスがSet
ありTag
ます。ここで、JPA (Hibernate 4.1.9 に基づく) で必要なすべてのタグを含むすべてのアイテムを検索したいと考えています。
私のリポジトリ メソッドは java.util.Set を取得し、このメソッドの本体は次のようになります。
entityManager.createQuery("select item from Item as item where item.tags in :tags")
.setParameter("tags", tags)
.getResultList()
私にはこの解決策のように見えますが、表示されるのはエラーメッセージだけです:
IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: サブツリーの予期しない終了 [() 内の item.tags の項目として models.Item から項目を選択]
条件をひっくり返すと
"select item from Item as item where :tags in item.tags"
(上記のクエリの代わりに)正しいと思うものNullPointerException
、最後の行に a が表示されます(getResultList()
)。
なにが問題ですか?