Bom dia Pessoal,
Estou enfrentando um problema que não consigo solucionar.
Possuo um processo que fica verificando no banco quando existe registro para ser processado.
Para verificar utilizo o método que executa a seguinte instrução.
public List assinarNfe(){
SessionFactory sessionFactory = SessionControl.getInstance();
Session session = sessionFactory.openSession();
Criteria consulta = session.createCriteria(Nfe.class);
consulta.add( Expression.eq("status", "1") );
List assinar = consulta.list();
session.close();
//sessionFactory.close();
return assinar;
}
Podem ver que este método eu pego a sessionFactory utilizando o getInstance que é um singleton.
public class SessionControl {
private static SessionControl instancia;
private static SessionFactory sessionFactory;
private SessionControl(){
this.sessionFactory =
new Configuration().configure().buildSessionFactory();
}
public static synchronized SessionFactory getInstance(){
if (instancia == null){
instancia = new SessionControl();
System.out.println("Criando instancia de banco");
}
return sessionFactory;
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
O meu problema é o seguinte no decorrer do processo onde fico chamando o método que faz a criteria que retorna o list de registros no banco eu diretamente no banco insiro um registro.
Porem no momento em que o método faz a criteria e vai buscar no banco essa informação ele não retorna nada.
Queria saber se alguem ja passou por isso ou tem idéia do que pode ser?
Estou a 1 semana procurando em fórum lendo docs para ver se descubro algo.
Obrigado.