[RESOLVIDO]Hibernate - limitar num registro na busca

9 respostas
I

Pessoal, favor indicar como limito a query abaixo a trazer somente os ultimos 100 registros inputados na tabela. Tem como??

método:

public List<Organization> 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();
	}

Desde já agradeço!

9 Respostas

T

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!

V

Ordene com Order.desc(String) e para limitar em 100 utilize o método setMaxResults(int).

Blz? Flw! :thumbup:

V

Uma dica, ao invés de ficar fazendo todos esses ifs para adicionar condições, dê uma estudada em Example queries.

Flw! :thumbup:

D

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.

V

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:

D

No caso eu fiz uma pergunta pro autor do tópico, mas comcordo contigo abrirei uma discussão sobre a dúvida que levantei.

V

Não me entenda mal, só disse isso para não “desvirtuarmos” o tópico! :wink:

Flw! :thumbup:

D

Sem probelmas von.juliano, sua observação está correta.

Abraço.

I

Obrigada von.juliano!

Criado 27 de setembro de 2010
Ultima resposta 27 de set. de 2010
Respostas 9
Participantes 4