Fala galera…
to tendo esse problema e to fuçando pra ver se encontro alguma solução…aparentemente ao meu ver está tudo correto…
to seguindo um tutorial sobre Hibernate e implementando com alguns codigos.
me deparei com esse problema de mapping do Hibernate
tenho essa classe main
import org.hibernate.Session;
import vo.Empresa;
public class main {
public static void main(String[] args) {
HibernateUtil util = new HibernateUtil();
Session session = util.getSession();
Empresa a = new Empresa();
a.setNmFantasia("jose");
session.beginTransaction();
session.save(a);
session.getTransaction().commit();
System.out.println(a.getIdEmpresa());
}
}
o stack trace e as info do hibernate que a classe gera…
28/09/2010 23:13:33 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
28/09/2010 23:13:33 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
28/09/2010 23:13:33 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
28/09/2010 23:13:33 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
28/09/2010 23:13:33 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
28/09/2010 23:13:33 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
28/09/2010 23:13:33 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
28/09/2010 23:13:33 org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : hibernate.cfg.xml
28/09/2010 23:13:33 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
28/09/2010 23:13:34 org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
28/09/2010 23:13:34 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
28/09/2010 23:13:34 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
28/09/2010 23:13:34 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
28/09/2010 23:13:34 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@127.0.0.1:1521:XE
28/09/2010 23:13:34 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=Desenvolvedor, password=****}
28/09/2010 23:13:34 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: Oracle, version: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
28/09/2010 23:13:34 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: Oracle JDBC driver, version: 10.2.0.1.0XE
28/09/2010 23:13:34 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.Oracle9Dialect
28/09/2010 23:13:35 org.hibernate.dialect.Oracle9Dialect <init>
WARNING: The Oracle9Dialect dialect has been deprecated; use either Oracle9iDialect or Oracle10gDialect instead
28/09/2010 23:13:35 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
28/09/2010 23:13:35 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
28/09/2010 23:13:35 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Echoing all SQL to stdout
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
28/09/2010 23:13:35 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
28/09/2010 23:13:35 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
28/09/2010 23:13:35 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Exception in thread "main" org.hibernate.MappingException: Unknown entity: vo.Empresa
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
at main.main(main.java:21)
vou postar aqui o hibernate.cfg.xml,o HibernateUtil e o bean Empresa do meu projeto tambem…
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.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521/XE</property>
<property name="hibernate.connection.username">Desenvolvedor</property>
<property name="hibernate.connection.password">root</property>
<mapping class="vo.Cliente"/>
<mapping class="vo.Empresa"/>
</session-factory>
</hibernate-configuration>
HibernateUtil
public class HibernateUtil {
private final SessionFactory sessionFactory;
public HibernateUtil () {
try {
this.sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public Session getSession() throws HibernateException {
return this.sessionFactory.openSession();
}
}
Empresa.java
package vo;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@Table(name="EMPRESA"
,schema="DESENVOLVEDOR"
)
public class Empresa {
private int idEmpresa;
private String nmFantasia;
private long nuCnpj;
private String nmRazaoSocial;
private String nmAtividadePrincipal;
private BigDecimal nuFaturamentoAnual;
private BigDecimal nuFuncionario;
private String nmEndereco;
private String nmBairro;
private int nuCep;
private long nmInscricaoEstadual;
private String nmHomePage;
private String nmDescricao;
private Short tpAreaAtuacao;
private Date dtCriacao;
@Id
@SequenceGenerator(initialValue=1, name="ID_EMPRESA", sequenceName="SEQ_EMPRESA")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="ID_EMPRESA")
@Column(name="ID_EMPRESA", unique=true, nullable=false, precision=6, scale=0)
public int getIdEmpresa() {
return this.idEmpresa;
}
public void setIdEmpresa(int idEmpresa) {
this.idEmpresa = idEmpresa;
}
@Column(name="NM_FANTASIA", nullable=false, length=250)
public String getNmFantasia() {
return this.nmFantasia;
}
public void setNmFantasia(String nmFantasia) {
this.nmFantasia = nmFantasia;
}
//get's e set's vão aqui...
}
o engracado é… esse meu projeto funciona em um netbeans instalado no computador de um colega meu… porem comigo nao rola…