JPA エンティティを返すために、ネイティブ SQL クエリの IN 句を動的に生成しようとしています。Hibernate は JPA プロバイダーです。コードは次のようになります。
@NamedQuery(
name="fooQuery",
queryString="select f from Foo f where f.status in (?1)"
)
....
Query q = entityManager.createNamedQuery("fooQuery");
q.setParameter(1, "('NEW','OLD')");
return q.getResultList();
これは機能しません。 in 句は、この方法で渡された値を認識しません。この問題の解決策を知っている人はいますか?