Hibernate begin

2 respostas
caiomacedor
Galera resolvi estudar Hiberanate estou vendo nesse site: http://www.roseindia.net/hibernate/firstexample.shtml Fiz tudo como esta ensinando, não da erro no console portanto não grava os dados no banco. Vou colocar o codigo aqui pra que alguem possa me alertar o que esta acontecendo de errado. 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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.url">jdbc:mysql://localhost/calixto</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.connection.password">adminroot</property>
  <property name="hibernate.connection.pool_size">10</property>
  <property name="show_sql">true</property>
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <property name="hibernate.hbm2ddl.auto">update</property>
  <!-- File Mapping  -->
  <mapping resource="Contato.hbm.xml"/>
 </session-factory>
</hibernate-configuration>
Contato.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Mar 9, 2010 12:32:04 PM by Hibernate Tools 3.2.5.Beta -->
<hibernate-mapping>
    <class name="br.com.tutorial.bean.Contato" table="CONTATO">
        <id name="idContato" type="java.lang.Long">
            <column name="IDCONTATO" />
            <generator class="increment" />
        </id>
        <property name="Nome" type="java.lang.String">
            <column name="NOME" />
        </property>
        <property name="Sobrenome" type="java.lang.String">
            <column name="SOBRENOME" />
        </property>
        <property name="Email" type="java.lang.String">
            <column name="EMAIL" />
        </property>
        <property name="Telefone" type="java.lang.String">
            <column name="TELEFONE" />
        </property>
    </class>
</hibernate-mapping>
Contato.java
package br.com.tutorial.bean;

public class Contato {
	public Long idContato;
	public String Nome;
	public String Sobrenome;
	public String Email;
	public String Telefone;
	
	public Long getIdContato() {
		return idContato;
	}
	public void setIdContato(Long idContato) {
		this.idContato = idContato;
	}
	public String getNome() {
		return Nome;
	}
	public void setNome(String nome) {
		Nome = nome;
	}
	public String getSobrenome() {
		return Sobrenome;
	}
	public void setSobrenome(String sobrenome) {
		Sobrenome = sobrenome;
	}
	public String getEmail() {
		return Email;
	}
	public void setEmail(String email) {
		Email = email;
	}
	public String getTelefone() {
		return Telefone;
	}
	public void setTelefone(String telefone) {
		Telefone = telefone;
	}
	
}
ContatosTeste.java
package br.com.tutorial.Testes;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import br.com.tutorial.bean.Contato;

public class ContatosTeste {

	public static void main(String[] args) {
		Session session = null;
		try {
			SessionFactory factory = new Configuration().configure().buildSessionFactory();
			session = factory.openSession();
			
			Contato contato = new Contato();
			//contato.setIdContato(1L);
			contato.setNome("Meu Nome");
			contato.setSobrenome("My Sobrenome");
			contato.setEmail("[email removido]");
			contato.setTelefone("xx 0000-0000");
			session.save(contato);
			
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}finally {
			session.flush();
			session.close();
		}
	}

}

Onde estou errando? Obrigando

2 Respostas

Giulliano

Talvez seja algum erro de concordância:
"não da erro no console portanto não grava os dados no banco"
não entendi o que ele falou…

Enfim…aparentemente faltou a transação

Transaction t = session.beginTransaction();

session.save(…);

t.coomit();
LPJava

está falatando abrir a transation e comitar. veja o pequeno codigo abaixo:
[code]
...
session.beginTransaction();
Autor autor = new Autor(nome);
session.save(autor);
session.getTransaction().commit(); [quote]

flw!

Criado 9 de março de 2010
Ultima resposta 12 de mar. de 2010
Respostas 2
Participantes 3