Ограничения гибернации. В и, как использовать? - PullRequest
6 голосов
/ 27 апреля 2010

У меня есть таблица, как показано ниже

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

как сделать запрос с Restriction.in путем объединения ниже И в один оператор IN?

 IN[   (if(survey_no==1)  && employee_no== 'test')  ,  
       (if(survey_no==1)  && employee_no== 'test2') ,
        ...
   ]

Ответы [ 2 ]

7 голосов
/ 27 апреля 2010

Я думаю, что это комбинация критериев, которую вы хотите использовать (кстати, легче помочь с определением бина сущности Hibernate вместо структуры таблицы):

String[] employeeNames = { "test", "test2" };
List<Survey> surveys = getSession().createCriteria(Survey.class).add(
        Restrictions.and
        (
            Restrictions.eq("surveyNumber", 1),
            Restrictions.in("employeeName", employeeNames)
        )
    ).list();
0 голосов
/ 10 октября 2018
List<EmployeeSurvey> employeeSurvey = getSession().createCriteria
(EmployeeSurvey.class).add(
    Restrictions.and
    (
        Restrictions.eq("survey_no", 1), 
        Restrictions.in("employee_name", new String[] {"test", "test1"})
    )).list();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...