Pessoal estou com o seguinte problema. Estou utilizando em uma aplicação o recurso de hibernate com annotations. Entretanto quando eu rodo o script é gerada a seguinte excessão:
org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="br.com.inca.rcbp.bean.Categoria"/>
segue o codigo das classes utilizadas:
package br.com.inca.rcbp.bean;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
@Entity
public class Categoria {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private int idCategoria;
private String identificadorCategoria;
private String descricaoCategoria;
private Set<RCBP> rcbps = new HashSet<RCBP>();
public String getDescricaoCategoria() {
return descricaoCategoria;
}
public void setDescricaoCategoria(String descricaoCategoria) {
this.descricaoCategoria = descricaoCategoria;
}
public int getIdCategoria() {
return idCategoria;
}
public void setIdCategoria(int idCategoria) {
this.idCategoria = idCategoria;
}
public String getIdentificadorCategoria() {
return identificadorCategoria;
}
public void setIdentificadorCategoria(String identificadorCategoria) {
this.identificadorCategoria = identificadorCategoria;
}
@OneToMany(mappedBy="categoria", cascade=CascadeType.REMOVE, fetch=FetchType.LAZY)
public Set<RCBP>getRcbps() {
return rcbps;
}
public void setRcbps(Set <RCBP>rcbps) {
this.rcbps = rcbps;
}
}
package br.com.inca.rcbp.dao;
import java.util.ArrayList;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class Dao<T> {
Session session;
private static Logger log = Logger.getLogger(Dao.class);
public Dao() throws Exception{
try{
SessionFactory sf = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
log.debug(sf);
this.session = sf.openSession();
}catch(Exception e){
log.fatal(e);
}
}
public void inserirAtualizar(Object obj) throws Exception {
try{
Transaction tx = session.beginTransaction();
session.saveOrUpdate(obj);
log.debug(obj);
tx.commit();
session.close();
}catch(Exception e){
log.fatal(e);
}
}
public void excluir(Object obj) throws Exception {
try{
Transaction tx = session.beginTransaction();
session.delete(obj);
log.debug(obj);
tx.commit();
session.close();
}catch(Exception e){
log.fatal(e);
}
}
}
<?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>
<!-- a SessionFactory instance listed as /jndi/name -->
<session-factory name="java:comp/env/hibernate/SessionFactory">
<!-- properties -->
<property name="connection.driver_class">
org.postgresql.Driver
</property>
<property name="connection.url">
jdbc:postgresql://192.168.0.26:5432/conprev
</property>
<property name="dialect">
org.hibernate.dialect.PostgreSQLDialect
</property>
<property name="show_sql">true</property>
<property name="connection.username">postgres</property>
<property name="connection.password">postgres</property>
<property name="connection.pool_size">10</property>
<!-- mapping files -->
<mapping class="br.com.inca.rcbp.bean.Categoria" />
</session-factory>
</hibernate-configuration>
