[Resolvido] Galera me ajudem...Hibernate

10 respostas
T
//Meu Persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<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/&#8592;
ns/persistence/persistence_1_0.xsd"
	version="1.0">
	<persistence-unit name="K21_mapeamento"
		transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.&#8592;
MySQLDialect" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver&#8592;
" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="senha" />
			<property name="javax.persistence.jdbc.url"
				value="jdbc:mysql://&#8592;
localhost:3306/K21_mapeamento" />
		</properties>
	</persistence-unit>
</persistence>
//Usuario.java
package modelo;

import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class Usuario {
	@Id
	@GeneratedValue
	private Long id;

	@Column(unique = true)
	private String email;

	@Temporal(TemporalType.DATE)
	private Calendar dataDeCadastro;

	@Lob
	private byte[] foto;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public Calendar getDataDeCadastro() {
		return dataDeCadastro;
	}

	public void setDataDeCadastro(Calendar dataDeCadastro) {
		this.dataDeCadastro = dataDeCadastro;
	}

	public byte[] getFoto() {
		return foto;
	}

	public void setFoto(byte[] foto) {
		this.foto = foto;
	}

}

[code]//Meu main
package principal;

import java.util.Calendar;

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

import modelo.Usuario;

public class AdicionaUsuario {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		EntityManagerFactory factory = Persistence
				.createEntityManagerFactory("K21_mapeamento");
		EntityManager manager = factory.createEntityManager();
		manager.getTransaction().begin();
		Usuario usuario = new Usuario();
		usuario.setEmail("[email removido]");
		usuario.setDataDeCadastro(Calendar.getInstance());
		manager.persist(usuario);
		manager.getTransaction().commit();
		manager.close();
		factory.close();

	}

}

[code]//Erro gerado ao executar
1 [main] INFO  org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.5.5-Final
28 [main] INFO  org.hibernate.cfg.Environment - Hibernate 3.5.5-Final
32 [main] INFO  org.hibernate.cfg.Environment - hibernate.properties not found
39 [main] INFO  org.hibernate.cfg.Environment - Bytecode provider name : javassist
49 [main] INFO  org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
284 [main] INFO  org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
298 [main] INFO  org.hibernate.ejb.Version - Hibernate EntityManager 3.5.5-Final
863 [main] INFO  org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: modelo.Usuario
950 [main] INFO  org.hibernate.cfg.annotations.EntityBinder - Bind entity modelo.Usuario on table Usuario
1161 [main] INFO  org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring
1205 [main] INFO  org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
1254 [main] INFO  org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
1254 [main] INFO  org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
1254 [main] INFO  org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: true
1258 [main] ERROR org.hibernate.connection.DriverManagerConnectionProvider - JDBC Driver class not found: com.mysql.jdbc.Driver&#8592;
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver&#8592;
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
	at org.hibernate.connection.DriverManagerConnectionProvider.configure(DriverManagerConnectionProvider.java:84)
	at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:143)
	at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:51)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:91)
	at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:891)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
	at principal.AdicionaUsuario.main(AdicionaUsuario.java:18)
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: K21_mapeamento] Unable to build EntityManagerFactory
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:900)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
	at principal.AdicionaUsuario.main(AdicionaUsuario.java:18)
Caused by: org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver&#8592;
	at org.hibernate.connection.DriverManagerConnectionProvider.configure(DriverManagerConnectionProvider.java:89)
	at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:143)
	at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:51)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:91)
	at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2163)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2159)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1383)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:891)
	... 4 more
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver&#8592;
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
	at org.hibernate.connection.DriverManagerConnectionProvider.configure(DriverManagerConnectionProvider.java:84)
	... 12 more

Galera estou iniciando com JPA2 e Hibernate, me ajudem a esclarecer esse erro gerado. Direto ao assunto quero gerar tabelas no banco de dados e não estou conseguindo.

10 Respostas

drsmachado

Você copiou e colou da apostila?
Pois existem erros no teu XML, por isto ele está acusando o erro.
Veja nestas linhas

<property name="hibernate.dialect" value="org.hibernate.dialect.&#8592;  /*que que é isso???*/
MySQLDialect" />  
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver&#8592;/*que que é isso???²*/  
" />

Sacou?

joaozarate

Cara ta faltando o driver do MySQL não?

MySQL Connectors

L

Me parece que está faltando adicionar o Driver JDBC do MySql ao classpath da sua aplicação.

drsmachado

joaozarate:
Cara ta faltando o driver do MySQL não?

MySQL Connectors


Não, ele apenas aponta para um driver que não existe.
Veja o xml dele e o erro

&lt;property name="hibernate.dialect" value="org.hibernate.dialect.&#8592;  
MySQLDialect" /&gt;
//aqui
ERROR org.hibernate.connection.DriverManagerConnectionProvider - JDBC Driver class not found: com.mysql.jdbc.Driver&#8592;

Sacou?

T

Olha só eu criei uma Library e joguei todos os jar necessario inclusive o driver mysql, então queria ajuda para direcionar configurar meu xml.

drsmachado

Camarada, não leu o que escrevi?
O problema é que você copiou e colou o xml.
Faz na mão ele todo (ou apenas as linhas que eu indiquei) que ele funciona.

joaozarate

thiagomishaim.

Também acho que é o que o drsmachado informou.

A principio achei que era so um erro na tag Code do GUJ, mas se tiver isso no seu código vai da erro mesmo.

T

OK! deu tudo certo aki.
Meu .xml

<?xml version="1.0" encoding="UTF-8"?>
<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/&#8592;
ns/persistence/persistence_1_0.xsd"
	version="1.0">
	<persistence-unit name="K21_mapeamento"
		transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<properties>
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/K21_mapeamento" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="senha" />
		</properties>
	</persistence-unit>
</persistence>
drsmachado

joaozarate:
thiagomishaim.

Também acho que é o que o drsmachado informou.

A principio achei que era so um erro na tag Code do GUJ, mas se tiver isso no seu código vai da erro mesmo.

Eu tenho a apostila que ele usou como exemplo.
Fui conferir e achei os mesmos erros.

Se resolveu, coloca [resolvido] no tópico

T

Agradecimentos,
Vlw drsmachado, joaozarate e luizsodrerj.

Criado 29 de junho de 2011
Ultima resposta 29 de jun. de 2011
Respostas 10
Participantes 4