Ajuda com Hibernate e JPA [RESOLVIDO]

9 respostas
brunorota

Ola galera

Estou aprendendo como trabalhar com o Hibernate

Baixei um tutorial e segui os passos

o projeto tem o persistence.xml na pasta META-INF

XML
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
             version="1.0">
    <persistence-unit name="jpa-hibernate">
   
    <!-- do create table! -->
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="create"/>
            <property name="hibernate.format_sql" value="true" />
            
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost/jpa_hibernate"/>
            <property name="hibernate.connection.username" value="root"/>
            <property name="hibernate.connection.password" value=""/>
            
        </properties>
    </persistence-unit>
</persistence>
a minha classe User
package br.com.caelum.jpa.hibernate;

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

//My firt Entity

@Entity

public class User {
	
	@Id @GeneratedValue //id auto generation: auto_incroment or sequence
	
	Long id;
	
	String name;
	
	String login;
	
	String password;
	
	public Long getId() {
		return id;
	}
	
	//I wont it!
	
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getLogin() {
		return login;
	}
	
	public void setLogin(String login) {
		this.login = login;
	}

	public String getPassword() {
		return password;
	}
	
	public void setPassword(String password) {
		this.password = password;
	}
}
e a classe GenerateDatabase
package br.com.caelum.jpa.hibernate;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.apache.commons.collections.iterators.EmptyOrderedIterator;

public class GenerateDatabase {

	public static void main(String args[]){
		
		EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa-hibernate");
		EntityManager em = emf.createEntityManager();
	
		//use it
		
		em.close();
		emf.close();
		
		//let's run it
		
	}
	
	
	
}

e quando eu compilo a classe Generatedatabase da o seguinte erro

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
	at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223)
	at org.slf4j.LoggerFactory.bind(LoggerFactory.java:120)
	at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
	at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
	at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:151)
	at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:107)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:124)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
	at br.com.caelum.jpa.hibernate.GenerateDatabase.main(GenerateDatabase.java:13)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 12 more

O que eu estou fazendo de errado?

Att.

9 Respostas

arqueiros

Eu acredito que o arquivo de configuração persistence-toplink.xml não era para o hibernate, mas sim um outro tipo de framework que usa JPA (me corrigam se eu estiver errado) e quanto ao arquivo persistence.xml pode ser que vc jah tenha em seu projeto com outro nome exemplo: hibernate.cfg.xml…

Desculpa não da informações claras mas eu tb estive assistindo apenas algumas videos aulas sobre o hibernate, nunca trabalhei com ele diretamente.

Espero ter podido ajudar…

brunorota

Nao achei o arquivo =/

Obrigado pela atenção arqueiros =)

brunorota

Bom eu criei um arquivo xml no bloco de notas igual ta no video, vamos ver se funciona hehehe

LPJava

tem algo de errado nisso ai. persistence é para JPA. dar uma olhada no post abaixo, esqueca a parte referente a JSF etc. veja somente o inicio sobre hibernate. vc vai precisar apenas do arquivo hibernate.cfg.xml e o arquivo de mapeamento.

http://blog.camilolopes.com.br/?p=1228

um livro que estou lendo e recomendo eh o beginning hibernate http://www.amazon.com/Beginning-Hibernate-Novice-Professional/dp/[telefone removido]

abracos,

brunorota

Eh o tutorial q eu to lendo é de JPA

só q eu li q JPA e Hibernate trabalham juntos por isso q eu coloquei Hibernate e JPA

Att.

LPJava

trabalham juntos sim.

veja: http://blog.camilolopes.com.br/?p=1411

abracos,

brunorota

Vc sabe oq tem de errado no meu codigo?

LP Java

Att

LPJava

dar uma olhada nesse import:

meio estranho ele, pq vc importou isso ?

DAr uma olha nesse outro topico: http://blog.camilolopes.com.br/?p=1280

se tiver aprendendo fuja das IDEs nesse momento. E faca na mao.

brunorota

Muito obrigado LPJava

O problema era com a nova versão do Hibernate

Eu fiz com a versão 3.2.3 e deu certinho ^^

Obrigado pela atenção dada ao tópico

Atenciosamente

Criado 9 de fevereiro de 2010
Ultima resposta 10 de fev. de 2010
Respostas 9
Participantes 3