izaura
Setembro 27, 2010, 10:43am
#1
Pessoal, favor indicar como limito a query abaixo a trazer somente os ultimos 100 registros inputados na tabela. Tem como??
método:
[code]public List searchAll() {
HibernateSessionProxy session = ((HibernateSessionProxy) entityManager.getDelegate());
Criteria criteria = session.createCriteria(Organization.class);
if (!"".equals(organization.getName())) {
criteria.add(EscapedRestrictions.like("name", organization.getName(), MatchMode.ANYWHERE));
}
if (!"".equals(organization.getDescription())) {
criteria.add(EscapedRestrictions.ilike("description", organization.getDescription(), MatchMode.ANYWHERE));
}
if (organization.getOperationalCondition() != null) {
criteria.add(Restrictions.eq("operationalCondition", organization.getOperationalCondition()));
}
organizationList = criteria.list();
if (organizationList == null || organizationList.size() == 0) {
facesMessages.add(Severity.WARN, "#{messages['operation.noResult']}");
}
return criteria.list();
} [/code]
Desde já agradeço!
Os 100 útlimos, a não ser que você ordene por id em ordem decrescente (desde que esse seja uma sequence) e você limite o resultado a 100 registros, ou ao invés do id, a data de inserção!
Ordene com Order.desc(String) e para limitar em 100 utilize o método setMaxResults(int) .
Blz? Flw! :thumbup:
Uma dica, ao invés de ficar fazendo todos esses ifs para adicionar condições, dê uma estudada em Example queries .
Flw! :thumbup:
Deculpa fazer uma pergunta que não tem absolutamente nada a ver com tópico, mas que tipo
mensagem esta linha adiciona no contexto do JSF:
facesMessages.add(Severity.WARN, "#{messages['operation.noResult']}");
Através desta string que você passou é possível direcionar a mensagem para um campo específico.
Desde já te agradeço.
Amigo, abra um tópico para sua dúvida, assim mantemos a ordem e fica evidente no titulo do seu tópico em que o pessoal pode te ajudar. Repare que se eu conheço tudo de JSF e nada de Hibernate, não vou entrar nesse tópico.
Flw! :thumbup:
No caso eu fiz uma pergunta pro autor do tópico, mas comcordo contigo abrirei uma discussão sobre a dúvida que levantei.
Não me entenda mal, só disse isso para não “desvirtuarmos” o tópico!
Flw! :thumbup:
Sem probelmas von.juliano, sua observação está correta.
Abraço.