Boa tarde companheiros.
É o seguinte, fiz um While que fica verificando um campo da tabela num determinado ID até que o valor fique diferente de NULL, esse campo que está NULL é atualizado por outra aplicação, no caso estou simulando a atualização direta pelo MySql Workbench. Mas a minha aplicação java não atualiza.
Abaixo o código que fiz para o loop pegar o valor e o hibernate.cfg.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="current_session_context_class">thread</property>
<property name="hibernate.transaction.flush_before_completion">true</property>
<property name="hibernate.transaction.auto_close_session">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/credtudo</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<mapping resource="hibernate/Consultas.hbm.xml"/>
<mapping resource="hibernate/ResultadoConsultas.hbm.xml"/>
</session-factory>
</hibernate-configuration>
public String pegaRespostaConsulta(){//Esse metodo deve pegar a resposta inserida pelo operador.
session =CredTudoHibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
int i=1;
while(resposta==null){//enquanto nao houver resposta do operador para consulta ele vai ficar consultando até ser direrente de nulo
// if(resposta==null){
try{
Thread.sleep(1000);
System.out.println("respsota="+resposta+" ID1="+pegaid()+" TIPOS="+tipos+" LUPE=="+i);
Query retorno = session.createQuery("from ResultadoConsultas where CodigoResu = :id").setInteger("id",pegaid());
List<ResultadoConsultas> resultadoconsultas = retorno.list();
for (ResultadoConsultas c : resultadoconsultas) {
tipos= c.getResultado();
resposta=tipos.toString();
session.getTransaction().commit();
}
// Object retorno = session.createSQLQuery("SELECT consultas.TipoConsulta as TipoConsulta FROM Consultas,resultado_consultas where Consultas.Codigo=resultado_consultas.CodigoResu").setFirstResult(1).setMaxResults(1).uniqueResult()
}catch(Exception e){System.out.println("Erro:"+e); }
i++;}
//session.close();
return resposta;
}