我有如下表
id, employee_no, survey_no, name 1 test 1 test_name 2 test2 1 test_name2 3 test3 1 test_name3 4 test4 2 test_name4
如何通过下面的AND组合成一个IN语句来使用Restriction.in查询?
IN[ (if(survey_no==1) && employee_no== 'test') , (if(survey_no==1) && employee_no== 'test2') , ... ]
我认为这是您要使用的条件组合(顺便说一句,帮助Hibernate实体bean定义而不是表结构更容易):
String[] employeeNames = { "test", "test2" }; List<Survey> surveys = getSession().createCriteria(Survey.class).add( Restrictions.and ( Restrictions.eq("surveyNumber", 1), Restrictions.in("employeeName", employeeNames) ) ).list();