0
// a is some String and bList is some list of type ArrayList
String findQuery = "SELECT T FROM " + MyClass.class.getName() + " T where a = :itemA and (b NOT IN (:bList))";
Query query = factory.getCurrentSession().createQuery(findQuery);
query.setParameter("itemA", a);
query.setParameter("bList", bList);
これは私が実行しているクエリです。代わりに私に結果を与える代わりにa = itemA and b is not in bList
、それは私に結果を与えるa = itemA and b IS IN bList
。HibernateのHQL NOT IN節は機能していないようです。
ご協力いただければ幸いです。
**とNOT(b IN(:bList))**についてはどうですか? – StanislavL
@HoganそれはSQLではなくHQLです。クエリ(NativeQueryではなく)が作成されましたhttp://stackoverflow.com/questions/6584898/how-to-set-list-of-values-as-parameter-into-hiberante-query – StanislavL
SQLログを有効にしてSQL要求はHibernateによって生成されます。 –