[RESOLVIDO]Problemas com criteria: duplicidade de resultados

1 resposta
D

Opa :smiley:

Tenho o seguinte método em um dao:

public List<EmpresaBean> findByRangeData(Date dataInicial, Date dataFinal){
		List<EmpresaBean> resultado = new ArrayList<EmpresaBean>();
		session = HibernateSessionFactory.getInstance().openSession();
		Calendar inicio = Calendar.getInstance();
		Calendar fim = Calendar.getInstance();
		inicio.setTime(dataInicial);
		fim.setTime(dataFinal);
		logger.info("Data Inicial: " + inicio.getTimeInMillis());
		logger.info("Data Final: " + fim.getTimeInMillis());
		transaction = session.beginTransaction();
		Criteria criteria = session.createCriteria(EmpresaBean.class);
		criteria.add(Expression.between("dataCadastro", inicio, fim));
		resultado = criteria.list();
		logger.info("Empresas encontradas: " + resultado.size());
		transaction.commit();
		session.close();
}

E tenho somente 1 cadastro no BD e nesse método, ele me retorna 7 vezes o mesmo resultado. No Bean, a dataCadastro está declarada como Calendar, mas eu passo como Date por causa do JSF. Alguém pode me dizer o motivo dele fazer este looping dentro dele e adicionar mais de 1x a mesma coisa?

[]'s

David

1 Resposta

D

Para resolver o problema, modifiquei a seguinte linha:

Criteria criteria = session.createCriteria(EmpresaBean.class).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Criado 23 de junho de 2008
Ultima resposta 24 de jun. de 2008
Respostas 1
Participantes 1