Atualização de dados no Hibernate

Galera,

Será que tem alguma coisa errada no meu código, no meu hibernate.cfg.xml?

Porque toda vez que faço uma inclusão, alteração, exclusão. Só consigo ver essa alteração, quando reinicio o Hibernate. Isso não está certo.

O que pode ser?

Meu hibernate.cfg.xml.

<!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.connection.username">
root
</property>
<property name="hibernate.connection.password">
root
</property>
<property name="hibernate.connection.url">
jdbc:mysql://localhost/compresempre?autoReconnect=true
</property>

<property name="connection.autoReconnect">true</property>
<property name="connection.autoReconnectForPools">true</property>
<property name="connection.is-connection-validation-required">true</property>
<property name="maxWait">-1</property>
<property name="maxActive">100</property>
<property name="maxIdle">30</property>
<property name="logAbandoned">true</property>
<property name="removeAbandoned">true</property>
<property name="removeAbandonedTimeout">180</property>



<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQL5InnoDBDialect
</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping class="br.com.softsol.compresempre.modelo.Acesso"/>
<mapping class="br.com.softsol.compresempre.modelo.Administrador"/>
<mapping class="br.com.softsol.compresempre.modelo.Auditoria"/>
<mapping class="br.com.softsol.compresempre.modelo.Atividade"/>
<mapping class="br.com.softsol.compresempre.modelo.Bairro"/>
<mapping class="br.com.softsol.compresempre.modelo.Cidade"/>
<mapping class="br.com.softsol.compresempre.modelo.Desconto"/>
<mapping class="br.com.softsol.compresempre.modelo.Empresa"/>
<mapping class="br.com.softsol.compresempre.modelo.Estado"/>
<mapping class="br.com.softsol.compresempre.modelo.FormaPagamento"/>
<mapping class="br.com.softsol.compresempre.modelo.Frete"/>
<mapping class="br.com.softsol.compresempre.modelo.Grupo"/>
<mapping class="br.com.softsol.compresempre.modelo.Item"/>
<mapping class="br.com.softsol.compresempre.modelo.MenorPreco"/>
<mapping class="br.com.softsol.compresempre.modelo.Orcamento"/>
<mapping class="br.com.softsol.compresempre.modelo.Produto"/>
<mapping class="br.com.softsol.compresempre.modelo.ProdutoDestaque"/>
<mapping class="br.com.softsol.compresempre.modelo.ProdutoEmpresa"/>
<mapping class="br.com.softsol.compresempre.modelo.Subgrupo"/>
<mapping class="br.com.softsol.compresempre.modelo.Usuario"/>
</session-factory>
</hibernate-configuration>
  1. Vc está fechando a transação após a inclusão/alteração?
  2. Vc está atualizando a view?

Tem um pacote que gerencia para mim isso.

Olha como eu to fazendo.

Tenho o pacote Infra
Classes
CriadorDeSession
CriadorDeSessionFactory

public class CriadorDeSession implements ComponentFactory<Session>{
	
	private SessionFactory factory;
	private Session session;
	
	public CriadorDeSession(SessionFactory factory){
		this.factory = factory;
	}
	@PostConstruct
	public void abre(){
		this.session = factory.openSession();
	}
	public Session getInstance(){
			return this.session;
	}
	@PreDestroy
	public void fecha(){
		this.session.close();
	}
	}
public class CriadorDeSessionFactory implements ComponentFactory<SessionFactory>{

	private SessionFactory factory;
	
		@PostConstruct
		public void abre() {
		AnnotationConfiguration configuration = new AnnotationConfiguration();
		configuration.configure();
		this.factory = configuration.buildSessionFactory();
		}
		
		public SessionFactory getInstance(){
			return this.factory;
		}
		
		@PreDestroy
		public void fecha(){
			this.factory.close();
		}
			
	}

Na classe dao, eu instancio a sessão.

public class AcessoDAO {

	private final Session session;

	public AcessoDAO(Session session) {
		this.session = session;
	}
	
	public void salva(Acesso acesso) {
		Transaction tx = session.beginTransaction();
		session.save(acesso);
		tx.commit();
	}

Ta errado?