Struts 2 + Hibernate

2 respostas
FilhoDoRei

Tenho uma aplicação que controla o registro de hospedes de uma pousada.

Esta acontecendo o seguinte... eu estou cadastrando um usuario e quando eu reinicio a aplicação o usuario simplemente some!

Ja to ficando descabelado aqui.... eu consegui descobrir que ele apaga os registros do usuario nessa classe:

public class HibernateUtil {
	private static SessionFactory sessionFactory;
	
	static {
		Configuration cfg = new AnnotationConfiguration();
		cfg.configure();		
		sessionFactory = cfg.buildSessionFactory(); // Depois da chamada desse metodo o usuario é excluido!
	}
	
	public static Session getSession(){
		return sessionFactory.openSession();
	}
}

Essa classe se relaciona com perfil...

o meu hibernate.cfg.xml:
<?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 name="">
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="connection.url">jdbc:mysql://localhost/pousada</property>
  <property name="connection.username">root</property>
  <property name="connection.password"/>
  <!-- JDBC connection pool (use the built-in) -->
  <property name="connection.pool_size">1</property>
  <!-- SQL dialect -->
  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
  <!-- Enable Hibernate's automatic session context management -->
  <property name="current_session_context_class">thread</property>
  <!-- Disable the second-level cache -->
  <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
  <!-- Echo all executed SQL to stdout -->
  <property name="show_sql">true</property>
  <property name="connection.useUnicode">true</property>
  <property name="connection.characterEncoding">UTF-8</property>
  <property name="hibernate.hbm2ddl.auto">create-drop</property>
  <mapping class="br.com.pousada.entidades.Produto"/>
  <mapping class="br.com.pousada.entidades.Quarto"/>
  <mapping class="br.com.pousada.entidades.Hospede"/>
  <mapping class="br.com.pousada.entidades.Usuario"/>
  <mapping class="br.com.pousada.entidades.Perfil"/>
 </session-factory>
</hibernate-configuration>

Alguém poderia me ajudar???

[]s

2 Respostas

C

Bom tarde

Então no seu arquivo hibernate.cfg.xml tem uma linha chamada:

create-drop

Tente trocar por essa:

update

Porque assim o hibernate só irá realizar alteração ou a criação das tabelas em caso das mesmas não existirem, com o valor create como você esta usando, o hibernate irá apagar as tabelas e recria-lás sempre que vc carregar uma sessionfactory.

Tente fazer essa alteração e qualquer coisa posta ai.

Espero ter ajudado.

FilhoDoRei

Caio Vinicius:
Bom tarde

Então no seu arquivo hibernate.cfg.xml tem uma linha chamada:

create-drop

Tente trocar por essa:

update

Porque assim o hibernate só irá realizar alteração ou a criação das tabelas em caso das mesmas não existirem, com o valor create como você esta usando, o hibernate irá apagar as tabelas e recria-lás sempre que vc carregar uma sessionfactory.

Tente fazer essa alteração e qualquer coisa posta ai.

Espero ter ajudado.

Valeu Caio… Funcionou direitinho!

Ja vou poder durmir direito agora :smiley:

[]s

Criado 4 de dezembro de 2009
Ultima resposta 4 de dez. de 2009
Respostas 2
Participantes 2