2014-09-17 5 views
0

Я новичок в спящий режим ограничений и нуждаются в помощи:Ограничения Hibernate - как я могу запросить несколько значений?

Я имею сценарий, который мне нужно, чтобы найти все записи, где «идентификатор» является «HB001» или «HB002», «HB003» & «HB004» , То есть он должен возвращать 4 строки, каждая строка имеет «идентификатор» как «HB00 *».

//here is the code 
Criteria criteria = hibernateSession.createCriteria(ENTITY_CLASS); 

List<String> ids = getIds(); //ids contains "HB001", "HB002", "HB003", "HB004" and I am sure this step has no issue. 
criteria.add(Restrictions.eq("identifier", ids)); 
... 

выглядит criteria.add(Restrictions.eq("identifier", ids)) не является правильным, и запрос возвращает нуль.

Может ли кто-нибудь помочь?

ответ

3

Вам необходимо использовать criteria.add(Restrictions.in("identifier", ids));, а ваш ids должен быть коллекцией, подобной ArrayList.

Только что заметил, что ваш ids уже является списком, вы можете напрямую использовать Restrictions.in.