[Resolvido] Problema, hibernate não atualizando o objeto do banco de dados

1 resposta
F

Pessoal estou com um problema no meu aplicativo desktop, ele utiliza o hibernate.
O problema é o seguinte
- Faço uma query no banco e jogo os dados na tabela, por exemplo os dados de um cliente
- Sem fechar o programa altero algum dado desse cliente no banco por meio de outro sistema (por exemplo um sistema web em php que usamos aqui)
- Depois faço a mesma query no aplicativo desktop que usa hibernate.
- O dado alterado pelo sistema php nao aparece
Porem se eu abro e fecho o sistema desktop, quando faço a query ele atualiza normal.

Meu Hibernate.cfg.xml:
<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://XXXXXXXX:3306/XXX</property>
<property name="hibernate.connection.username">XXXXXXXXXX</property>
<property name="hibernate.connection.password">XXXXXXXXXX</property>
<property name="show_sql">true</property>

Meu HibernateUtil - preciso carregar usuario e senha de um arquivo externo:

public class HibernateUtil {
    private static SessionFactory   sessionFactory  = null;
    static {
        // Configurações iniciais de caminho dos diretórios e arquivos
        URL url = HibernateUtil.class.getProtectionDomain().getCodeSource().getLocation();
        File myFile = null;
        try {
            myFile = new File(url.toURI());
        } catch (Exception ex) {

        }
        File dir = myFile.getParentFile();
        File xml = new File(dir, "hibernate.cfg.xml");
        /*
         * sessionFactory = new AnnotationConfiguration() .configure("br/com/netradiobrasil/pcp/" +
         * "hibernate/hibernate.cfg.xml") .buildSessionFactory();
         */
        sessionFactory = new AnnotationConfiguration().configure(xml).buildSessionFactory();
    }

    public static Session getSession() {
        return sessionFactory.openSession();
    }
}
Codigo que faz a query
Session s = HibernateUtil.getSession();
Criteria c = s.createCriteria(Solicitacao.class, "s");
//Adiciona Restrictions...
List<Solicitacao> ls = c.list();
s.close();

Tentei adicionar as seguinte linhas no meu hibernate.cfg.xml sem sucesso:

<property name="hibernate.cache.use_query_cache">false</property>
<property name="hibernate.cache.use_second_level_cache">false</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

Estou utilizando Lazy nos relacionamentos...
Sempre que vou fazer uma query eu dou um get session, faço a query do um close
Alguem sabe oq esta errado??
Agradeço!

EDIT:

Resolvido

Depois de Adicionar as linhas que ativam o c3p0 tudo funcionou perfeitamente

5
40
300
50
100

1 Resposta

F

resolvido

Criado 13 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 1
Participantes 1