Olá Gujeiros, estou com problemas de mapeamento do hibernate, acontece que não está encontrando a minha entidade, segue o erro abaixo:
0 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.4.0.GA
31 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1
31 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
31 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
47 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
156 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.1.0.GA
156 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
156 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
297 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
297 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
375 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring
391 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
391 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
391 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
391 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/bmweb
391 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=****}
766 [main] INFO org.hibernate.cfg.SettingsFactory - RDBMS: MySQL, version: 5.1.34-community
766 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
797 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
844 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
844 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
844 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
844 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
844 [main] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2
844 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
844 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
844 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
859 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
859 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
859 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
859 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
859 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
859 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
859 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
859 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
859 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout
859 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
859 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
859 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
859 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
922 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
937 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
937 [main] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - Running hbm2ddl schema update
937 [main] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - fetching database metadata
937 [main] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - updating schema
953 [main] INFO org.hibernate.tool.hbm2ddl.SchemaUpdate - schema update complete
Exception in thread "main" org.hibernate.MappingException: Unknown entity: Testes.Cliente
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:580)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1365)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:562)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:550)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:546)
at Testes.AdicionaCliente.main(AdicionaCliente.java:26)
Minha classe Cliente:
[code]package Testes;
import java.util.Date;
import org.hibernate.annotations.Entity;
import javax.persistence.*;
@Entity
public class Cliente {
@Id @GeneratedValue
private int cod_cliente;
private String documento, rg, nome, mercado, placa, email, profissao;
private String data_nascimento;
private String data_cadastro;
private String newsletter;
public String getData_nascimento() {
return data_nascimento;
}
public void setData_nascimento(String dataNascimento) {
data_nascimento = dataNascimento;
}
public String getData_cadastro() {
return data_cadastro;
}
public void setData_cadastro(String dataCadastro) {
data_cadastro = dataCadastro;
}
public void setCod_cliente(int cod_cliente) {
this.cod_cliente = cod_cliente;
}
public void setDocumento(String documento) {
this.documento = documento;
}
public void setEmail(String email) {
this.email = email;
}
public void setMercado(String mercado) {
this.mercado = mercado;
}
public void setNewsletter(String newsletter) {
this.newsletter = newsletter;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setPlaca(String placa) {
this.placa = placa;
}
public void setProfissao(String profissao) {
this.profissao = profissao;
}
public void setRg(String rg) {
this.rg = rg;
}
public int getCod_cliente() {
return cod_cliente;
}
public String getDocumento() {
return documento;
}
public String getEmail() {
return email;
}
public String getMercado() {
return mercado;
}
public String getNewsletter() {
return newsletter;
}
public String getNome() {
return nome;
}
public String getPlaca() {
return placa;
}
public String getProfissao() {
return profissao;
}
public String getRg() {
return rg;
}
}
[/code]
Minha classe AdicionaCliente:
[code]package Testes;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
public class AdicionaCliente {
public static void main(String args[]) {
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Cliente cliente = new Cliente();
cliente.setData_cadastro(“13/02/2010”);
cliente.setData_nascimento(“01/01/1980”);
cliente.setDocumento(“12345678”);
cliente.setEmail(“teste@teste.com.br”);
cliente.setMercado(“Mercado”);
cliente.setNewsletter(“S”);
cliente.setNome(“Cliente Teste”);
cliente.setPlaca(“Placa”);
cliente.setProfissao(“Programador”);
cliente.setRg(“888888888”);
Transaction tx = session.beginTransaction();
session.save(cliente);
tx.commit();
session.close();
}
}
[/code]
hibernate.cfg.xml:
<!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.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/bmweb</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping class="Testes.Cliente" />
</session-factory>
</hibernate-configuration>
cliente.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 15/02/2010 10:58:24 by Hibernate Tools 3.2.5.Beta -->
<hibernate-mapping>
<class name="Testes.Cliente" entity-name="Cliente" table="TB_CLIENTE" proxy="Cliente">
<property name="cod_cliente" type="int">
<column name="CL_COD_CLIENTE" />
</property>
<property name="documento" type="java.lang.String">
<column name="CL_DOCUMENTO" />
</property>
<property name="rg" type="java.lang.String">
<column name="CL_RG" />
</property>
<property name="nome" type="java.lang.String">
<column name="CL_NOME" />
</property>
<property name="mercado" type="java.lang.String">
<column name="CL_MERCADO" />
</property>
<property name="placa" type="java.lang.String">
<column name="CL_PLACA" />
</property>
<property name="email" type="java.lang.String">
<column name="CL_EMAIL" />
</property>
<property name="profissao" type="java.lang.String">
<column name="CL_PROFISSAO" />
</property>
<property name="data_nascimento" type="java.lang.String">
<column name="CL_DATA_NASCIMENTO" />
</property>
<property name="data_cadastro" type="java.lang.String">
<column name="CL_DATA_CADASTRO" />
</property>
<property name="newsletter" type="java.lang.String">
<column name="CL_NEWSLETTER" />
</property>
</class>
</hibernate-mapping>