Estou com um problema estranho.
Estou fazendo uns testes e me vi na seguinte situação.
Tenho dois métodos:
public List<T> findAll() {
Criteria criteria = getSession().createCriteria(entityClass);
criteria.setMaxResults(50);
return criteria.list();
}
public List<LogProcessamento> findByNoSeq(BigDecimal noSeq){
Criteria criteria = super.getSession().createCriteria(LogProcessamento.class);
criteria.add(Restrictions.eq("noSeq", noSeq));
return criteria.list();
}
Eu chamo ele dessa forma:
List<LogProcessamento> list = logProcessamentoDAO.findAll();
BigDecimal noSeq = new BigDecimal("3505");
List<LogProcessamento> listLogProcessamento = logProcessamentoDAO.findByNoSeq(noSeq);
O problema é q ele ta retornando dados q não devia.
Na tabela tem 7 cara com noSeq = 3505 e ele tráz 7, mas o primeiro e o último q ele tráz não são 3505, são 4185 e 1
:roll:
Eu fiz um teste e tirei a primeira chamada:
List<LogProcessamento> list = logProcessamentoDAO.findAll();
E ai retornou todos os sete 3505 corretamente.
Alguém saberia me explicar o pq isso ocorre ?
Será q é algo na mesma sessão ?
