Bom dia.
Estou tentando inserir no banco usando hibernate com annotations da o erro :
Exception in thread "main" org.hibernate.MappingException: Unknown entity: modelo.Amigo
Entidade
package modelo;
// Generated 11/11/2009 16:56:45 by Hibernate Tools 3.2.4.CR1
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Entity;
/**
* Amigos generated by hbm2java
*/
@Entity
@Table(name = "amigos")
public class Amigo implements java.io.Serializable, IAmigo {
private int codigo;
private String nome;
private String telefone;
public Amigo() {
}
public Amigo(int codigo) {
this.codigo = codigo;
}
public Amigo(int codigo, String nome, String telefone) {
this.codigo = codigo;
this.nome = nome;
this.telefone = telefone;
}
/* (non-Javadoc)
* @see modelo.IAmigo#getCodigo()
*/
@Id
@Column(name = "codigo", unique = true, nullable = false)
public int getCodigo() {
return this.codigo;
}
/* (non-Javadoc)
* @see modelo.IAmigo#setCodigo(int)
*/
public void setCodigo(int codigo) {
this.codigo = codigo;
}
/* (non-Javadoc)
* @see modelo.IAmigo#getNome()
*/
@Column(name = "nome", length = 50)
public String getNome() {
return this.nome;
}
/* (non-Javadoc)
* @see modelo.IAmigo#setNome(java.lang.String)
*/
public void setNome(String nome) {
this.nome = nome;
}
/* (non-Javadoc)
* @see modelo.IAmigo#getTelefone()
*/
@Column(name = "telefone", length = 25)
public String getTelefone() {
return this.telefone;
}
/* (non-Javadoc)
* @see modelo.IAmigo#setTelefone(java.lang.String)
*/
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
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.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bancoteste</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2dll.auto">create</property>
<property name="generateDdl">true</property>
</session-factory>
</hibernate-configuration>
HibernateUtility
[code]package apresentacao;
import modelo.Amigo;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
public class HibernateUtility {
private static SessionFactory factory;
static {
try {
factory = new AnnotationConfiguration().addAnnotatedClass(Amigo.class)
.configure("\apresentacao\hibernate.cfg.xml").buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
factory = null;
}
}
public static Session getSession() {
return factory.openSession();
}
}[/code]
Main
package apresentacao;
import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import modelo.Amigo;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class TesteAplicacao {
public static void main(String[] args) throws SecurityException, IllegalStateException, RollbackException, HeuristicMixedException, HeuristicRollbackException, SystemException {
Session sessao = HibernateUtility.getSession(); //Abrindo uma sessão
Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação
Amigo amigo = new Amigo(); //Instanciando um objeto transiente
amigo.setCodigo(1);
amigo.setNome("JOSE"); //Preenchendo as propriedades do objeto
amigo.setTelefone("9999-9999");
sessao.save(amigo); //Transformando o objeto transiente em um objeto persistente no banco de dados
transaction.commit(); //Finalizando a transação
sessao.close(); //Fechando a sessão
}
}
Alguem pode me ajudar?
E alguma coisa no arquivo de configuração do hibernate ou na classe Amigo?
Obrigado.