как построить спящий режим множественного ограничения в запросе с критериями - PullRequest
0 голосов
/ 30 апреля 2019

Я сейчас создаю запрос, и мне нужно использовать объект Criteria из hibernate.В основном мой собственный запрос приведен ниже:

select * from HDR where app_no in (select appNo from perm where code in (select code from access where appCode = 'P' and catId in :dymanicParam))

Есть идеи, как создать собственный запрос, указанный выше, с использованием org.hibernate.Criteria?

Большое спасибо за ответ.

1 Ответ

1 голос
/ 30 апреля 2019

Попробуйте сделать это

DetachedCriteria accessCriteria = DetachedCriteria.forClass(Access.class)
         .setProjection(Property.forName("code"))
         .add(Restrictions.eq("appCode", "P"))
         .add(Restrictions.eq("catId", dymanicParam));

DetachedCriteria permCriteria = DetachedCriteria.forClass(Perm.class)
         .setProjection(Property.forName("appNo"))
         .add(Property.forName("code").in(accessCriteria))

DetachedCriteria criteria = DetachedCriteria.forClass(HDR.class)
         .add(Property.forName("app_no").in(permCriteria))

// criteria.getExecutableCriteria(session).list();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...