[Resolvido] Select varias vezes - Hibernate + JSF 2

[i]Galera tudo bem?

Estou fazendo um crud basico aqui e estou enfrentando digamos um problema.

O mesmo select está sendo feito cerca de 3x e eu não entendo o pq…
Se alguem poder me ajudar com isso…

Vejam como estou fazendo:[/i]

// Declaração da variavel que irá representar os select itens na view
private List<SelectItem> regionalItens;

// Aqui o método GET que está sendo executado cerca de 3x
public List<SelectItem> getRegionalItens() {
	regionalItens = new ArrayList<SelectItem>();

	if (regionalItens.isEmpty() || regionalItens.equals("")) {
		for (Regional reg : new RegionalDAO()
				.listRegionalByLote(this.usuario.getEmpresa().getLote()
						.getId())) {
				regionalItens.add(new SelectItem(reg.getId(), reg.getRegional()));
		}
	}

	return regionalItens;
}

// Aqui o select do DAO
return (Regional) session.createCriteria(Regional.class, "r")
		.setProjection(Projections.projectionList()
			.add(Projections.property("r.id").as("id"))
			.add(Projections.property("r.regional").as("regional")))
			.add(Restrictions.eq("r.id", ID))
			.setResultTransformer(new AliasToBeanResultTransformer(Regional.class))
			.uniqueResult();

[i]Alguem sabe o porque?

Obrigado galera !!![/i]

Provavelmente é esse seu for. Pegue a lista primeiro e depois faça o for.

Obrigado pela resposta ErickRAR, porém eu fiz a cagada de colocar o select diretamente no GET do atributo.
Resolvi fazendo assim:

// Método GET modificado
public List<SelectItem> getRegionalItens() {
	if (regionalItens.isEmpty()) {
		preencherRegionalItens();

		return regionalItens;
	} else {
		return regionalItens;
	}

}

[i]E no método preencherRegionalItens(); eu faço o select.

Obrigado pela sugestão anyways :slight_smile:

Resolvido !![/i]