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

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.

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.

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

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

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:

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

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

tem que alguma fonfiguração aqui tambem?

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?

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?

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.

o meu cfg.xml esta assim:

[code]<?xml version="1.0" encoding="UTF-8"?>

true com.mysql.jdbc.Driver .. jdbc:mysql://10.84.227.248:3306/gerusa .. org.hibernate.dialect.MySQLDialect
    <!-- 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>

[/code]

[quote=aorocha]o meu cfg.xml esta assim:


[/quote]

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á?