2015-10-27 2 views
0

Мне нужна только информация о существовании записи. Мне не нужен фактический счет. Если есть строка (запись) относительно условия «where», я буду знать, что она существует.Hibernate select query: знать только существование

Если я пишу

select count(m) from MyEntity m where m.someProperty=1 

он будет считать все записи и, если есть много записей, это может занять много времени, и это даст мне информацию, которая мне не нужно на самом деле.

Как получить наличие записей с Hibernate HQL?

+0

Может быть, вам нужно setMaxResults (1): http://stackoverflow.com/a/28498378/706695 – HRgiger

+0

@ HRgiger благодарит вас, также этот выглядит хорошо для меня: http://stackoverflow.com/a/29745642/169534 –

ответ

0

Я нашел это, как лучше для меня:

public Boolean existsOrNot (DTOAny i) { 
    Query q = getSession().    
    createQuery("select 1 from DTOAny t where t.key = :key"); 
     q.setString("key", i.getKey()); 
    return (q.uniqueResult() != null); 
} 

от: HQL Query to check whether table has data or not