Java Hibernate HQL NOT IN子句不';好像不行

Java Hibernate HQL NOT IN子句不';好像不行,java,hibernate,hql,Java,Hibernate,Hql,这就是我正在执行的查询。当a=itemA和b不在bList中时,它不是给我结果,而是给我a=itemA和b在bList中的结果 任何帮助都将不胜感激。关于而不是(b IN(:bList))?@Hogan这不是SQL,而是HQL。查询(非NativeQuery)已创建请参见,启用SQL日志,并查看由Hibernate生成的SQL请求。关于and而非(b IN(:bList))?@Hogan这不是SQL而是HQL。创建查询(非NativeQuery)请参见,启用SQL日志,并查看由Hibernate

这就是我正在执行的查询。当
a=itemA和b不在bList
中时,它不是给我结果,而是给我
a=itemA和b在bList
中的结果


任何帮助都将不胜感激。

关于而不是(b IN(:bList))?@Hogan这不是SQL,而是HQL。查询(非NativeQuery)已创建请参见,启用SQL日志,并查看由Hibernate生成的SQL请求。关于and而非(b IN(:bList))?@Hogan这不是SQL而是HQL。创建查询(非NativeQuery)请参见,启用SQL日志,并查看由Hibernate生成的SQL请求。我完全尝试了这一点(甚至在尝试我在问题中发布的解决方案之前),但它不起作用。长话短说,我运行的另一个进程是删除我想要提取的记录,这就是为什么我的结果集是空的。这个故事的寓意是:别傻了,我确实试过了(甚至在我试过我在问题中发布的解决方案之前),但它不起作用。长话短说,我运行的另一个进程是删除我想要提取的记录,这就是为什么我的结果集是空的。这个故事的寓意是:不要做一个白痴
// 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);
String findQuery = "SELECT T FROM " + MyClass.class.getName() + " T where T.a =:itemA and T.b NOT IN (:bList)";
Query query = factory.getCurrentSession().createQuery(findQuery);
query.setParameter("itemA", a);
query.setParameterList("bList", bList);