Pessoal estou tentando um exemplo simples utilizando ‘Embeddable’, porem o mesmo está me dando erro de “Unknown Entity” ocorre ao tentar persistir o ‘endereco’
tenho 2 classes uma “Gerente” e outra “Endereço” ambas anotadas devidamente como segue o exemplo.
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Gerente {
@Id
@GeneratedValue
private Integer id;
//outros atributos
@Embedded
private Endereco endereco = new Endereco();
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
// outros gette's e setter's
@Embeddable
public class Endereco {
//atributos getter's e setter's
Meu metodo main:
public static void main(String[] args) {
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
Gerente gerente = new Gerente();
gerente.setNome("***");
gerente.setTelefone("***");
Endereco endereco = new Endereco();
endereco.setCidade("***");
endereco.setEstado("***");
endereco.setRua("***");
em.persist(gerente);
em.persist(endereco);
em.getTransaction().commit();
System.out.println("Gerente Gravado com sucesso! " +gerente.getNome());
em.close();
}
Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: br.com.caelum.financas.modelo.Endereco
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:675)
at br.com.caelum.financas.teste.TestaCriaGerente.main(TestaCriaGerente.java:27)
O erro é bem simples porem não estou achando uma solução…
desde já agradeço a todos