Hibernate 休眠中的过滤器

Hibernate 休眠中的过滤器,hibernate,filter,annotations,one-to-many,Hibernate,Filter,Annotations,One To Many,我有一个非常简单的一对多关系,希望使用in子句过滤多方集合。我无法让过滤器工作。Hibernate在使用Set或Integer作为类型时会抱怨filter参数未定义,或者在使用int参数类型时会说传入的值的类型错误 java.lang.IllegalArgumentException: Incorrect type for parameter [IDS] at org.hibernate.impl.FilterImpl.setParameter(FilterImpl.java:77)

我有一个非常简单的一对多关系,希望使用in子句过滤多方集合。我无法让过滤器工作。Hibernate在使用Set或Integer作为类型时会抱怨filter参数未定义,或者在使用int参数类型时会说传入的值的类型错误

java.lang.IllegalArgumentException: Incorrect type for parameter [IDS]
    at org.hibernate.impl.FilterImpl.setParameter(FilterImpl.java:77)
关系:一个类别有许多测试用例,一个测试用例只有一个类别

Pojo1

int为param类型时出现异常

java.lang.IllegalArgumentException: Incorrect type for parameter [IDS]
    at org.hibernate.impl.FilterImpl.setParameter(FilterImpl.java:77)
FilterImpl.setParameter只能处理单个参数

在传递集合或数组参数时

使用FilterImpl.setParameterListname、值

FilterImpl.setParameter只能处理单个参数

在传递集合或数组参数时

使用FilterImpl.setParameterListname、值


它一直盯着我的脸,一定要喜欢那些。太棒了,非常感谢。它一直盯着我的脸,一定要喜欢那些。太棒了,非常感谢。
public List<Category> getAllCategoriesForTestRuns(Set<Integer> testRunIDs)
{
    Session session = getSession();
    session.enableFilter("TEST_RUN_ID_FILTER")
            .setParameter("IDS", testRunIDs);
    Query query = session.createQuery("FROM " + Category.class.getSimpleName());
    List<Category> result = query.list();
    return result;
}
Java.lang.IllegalArgumentException: Undefined filter parameter [IDS]
at org.hibernate.impl.FilterImpl.setParameter(FilterImpl.java:74)
java.lang.IllegalArgumentException: Incorrect type for parameter [IDS]
    at org.hibernate.impl.FilterImpl.setParameter(FilterImpl.java:77)