Probelmas Hibernate

1 resposta
fmy_1

Ola pessoal , o seguinte me ocorre, nao consegui achar ainda o Hibernate Tools compativel com o Eclipse 3.3.2 mas blz fiz o xml na mao mesmo…

Estou seuginto a apostila da Caelum da loja virtual http://www.guj.com.br/posts/list/58662.java

Bom agora estou com o seguinte problema, gero uma tabela no banco de dados de uma classe chamada Usuario, tudo bem ele gera normal mas quando adiciono algo ele insere no banco de dados pq consigo fazer busca pelo eclipse mas quando uso alguma ferramenta para navegacao de banco de dados ou mesmo o sql no prompt dando o SELET ele nao aparece nada inserido, estranho neh? Vou postar meu codigo…

Usuario.java

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;


@Entity
public class Usuario {

	
	@Id
	@GeneratedValue
	private Long id;
	private String login;
	private String senha;
	
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}
	
}

GeraBanco

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;


public class GeraBanco {


	public static void main(String[] args) {
		
		Configuration conf = new AnnotationConfiguration();
		conf.configure();
		SchemaExport se = new SchemaExport(conf);
		se.create(true, true);

	}

}

Adiciona

import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.Transaction;

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


public class testaUser {

		public static void main(String[] args){
		
			Configuration conf = new AnnotationConfiguration();
			conf.configure();
			SessionFactory factory = conf.buildSessionFactory();
			Session session = factory.openSession();
			
			Usuario u = new Usuario();
			u.setLogin("admin");
			u.setSenha("admin");
			
			Transaction t = (Transaction) session.beginTransaction();
			session.save(u);
			try {
				t.commit();
			} catch (SecurityException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalStateException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (RollbackException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (HeuristicMixedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (HeuristicRollbackException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (SystemException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			session.close();
			
			

	}

}

Agora to com um erro neste Transaction q n sei para o q serve, mas quando eu adicionava por outro metodo ele sinalizava q tinha add tudo certo, bom nao sei o q esta acontesendo, o erro do Transaction eh:

Exception in thread "main" java.lang.ClassCastException: org.hibernate.transaction.JDBCTransaction cannot be cast to javax.transaction.Transaction at testaUser.main(testaUser.java:26)

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>

<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>

<property name="hibernate.connection.url">
jdbc:mysql://localhost/testao

</property>

<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>

<property name="hibernate.connection.username">root</property>
<property name="connection.password">1f8624</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>

<mapping class="Usuario"/>

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

Valeu ai galera espero a ajuda de vc, e tem o caso do Hibernate Tools que gostaria de ver mas nao estou conseguindo fazer funcionar essa ultima versao …
Falo pessoal! ABRAÇO …

1 Resposta

fmy_1

RESOLVIDO PESSOAL…

na calsse que adiciona, estava dando erro na insercao mesmo… troquei a linha

Transaction t = (Transaction) session.beginTransaction();

por

org.hibernate.Transaction t = session.beginTransaction();

E ai rodo tudo certo, quando dou o SELECT aparece os dados…

Valeu pessoal! Agora soh tenho o problema do Hibernate Tools que nao sei pq nao esta funcionando…

Criado 17 de outubro de 2008
Ultima resposta 17 de out. de 2008
Respostas 1
Participantes 1