Hibernate não traz dados atyualizados do banco, alimentado por outro sistema!

11 respostas
aorocha

Pessoal estou com um problema tenho uma aplicaçao web, que alimenta e faz consulta numa base de dados, os dados alimentados por essa aplicação são atulizados numa boa, mas tenho outra aplicação desktop que alimanta a mesma base, só que o dados alimentados por essa aplicação não aparece na aplicação web, só quando dou shutdown no tomcat e startup ai ele encherda os dados que a outra app alimentaou, alguém sabe como resolvo isto?

Obrigado.

11 Respostas

_fs

Recomendo uma dieta de folhas por aproximadamente 4 semanas.

Ou você pode verificar se a webapp não trabalha com os dados em memória, que são carregados quando a aplicação é inicializada junto ao Tomcat.

A

Nao sei se esta correto o que vou dizer, mas como o objetivo e ajudar. Acho que o hibernate faz um esquema de cache dos objetos a partir da primeira listagem dele, ve se nao tem como desabilitar essa opcao.

Alberto

aorocha

É pode ser isso, mas como faço isto, sou leigo em hibernate!

Mauricio_Linhares

Você está usando o cache do Hibernate? Se estiver, desablite ele agora e veja o que acontece.

Se não for isso, boa sorte companheiro, porque é mágica :smiley:

aorocha

Para desabilitar o cache é algum comando que dou eo é conf. no xml.

aorocha

Estou usando tambem query name, e acontece a mesma coisa. <query name="login"> <![CDATA[ from PerSist p ...

tem que alguma fonfiguração aqui tambem?

Mauricio_Linhares

Não, não tem nada haver não. Se você nem sabe o que é o cache, é porque não está usando mesmo.

Não consigo saber como é que ele não está carregndo as informações. Tem certeza de que você não está guardando nada?

aorocha

Quando vou buscar dados faço isto

public List list(Class clazz) { HibernateUtilMySqlGerusa.getSession().flush(); return HibernateUtilMySqlGerusa.getSession().createCriteria(clazz).list(); }

falta algo, ou tem algo errado ai?

F

Procure no cfg.xml por alguma coisa relacionada a cache…

<property name="hibernate.cache.provider_class">
			org.hibernate.cache.EhCacheProvider
		</property>

… ou algo do genero.

Muito provavelmente seja isso.

Outras possibilidades é que o outro sistema não “commitou” as alterações, ou que seu sistema retenha essa informação em um cache interno, e não esta acessando essa sua função.

aorocha

o meu cfg.xml esta assim:

<?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="hibernate.cglib.use_reflection_optimizer">true</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.password">..</property>
        <property name="hibernate.connection.url">jdbc:mysql://10.84.227.248:3306/gerusa</property>
        <property name="hibernate.connection.username">..</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        
        
        <!-- Condiguração do c3p0 -->

		<property name="hibernate.c3p0.max_size">10</property>
		<property name="hibernate.c3p0.min_size">2</property>
		<property name="hibernate.c3p0.timeout">5000</property>
		<property name="hibernate.c3p0.max_statements">10</property>
		<property name="hibernate.c3p0.idle_test_period">3000</property>
		<property name="hibernate.c3p0.acquire_increment">2</property>

		<!-- Configurações de debug -->

		<property name="show_sql">true</property>
        <property name="use_outer_join">true</property>
        <property name="hibernate.generate_statistics">true</property>
        <property name="hibernate.use_sql_comments">true</property>

                
        <!-- Tabelas do banco  -->
        <mapping resource="br/com/maringa/compGerusa/usuario/Usuario.hbm.xml" />
        <mapping resource="br/com/maringa/compGerusa/sistema/Sistema.hbm.xml" />
        <mapping resource="br/com/maringa/compGerusa/permissao/Permissao.hbm.xml" />
        <mapping resource="br/com/maringa/compGerusa/menu/Menu.hbm.xml" />
        <mapping resource="br/com/maringa/compGerusa/perSist/PerSist.hbm.xml" />
        <mapping resource="br/com/maringa/compGerusa/portal/Portal.hbm.xml" />
        <mapping resource="br/com/maringa/compGerusa/usuarioPortal/UsuarioPortal.hbm.xml" />    

    </session-factory>
</hibernate-configuration>
F

aorocha:
o meu cfg.xml esta assim:


No mesmo instante que vc faz a pesquisa pelo hibernate se vc fizer o select no direto no BD as informaçãoes estão atualizadas lá?

Criado 26 de abril de 2006
Ultima resposta 27 de abr. de 2006
Respostas 11
Participantes 5