Pessoal,
Fiz uma classe Main, para testar a minha aplicação, só que esta dando o erro abaixo :
INFO: schema update complete
Exception in thread “main” javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: modelo.Especificacao
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1214)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1147)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1153)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:678)
at modelo.main.main(main.java:30)
Caused by: org.hibernate.PersistentObjectException: detached entity passed to persist: modelo.Especificacao
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:127)
at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)
at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:808)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:782)
at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:786)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:672)
… 1 more
Segue minhas classes :
public static void main(String[] args) {
System.out.println("teste");
EntityManagerFactory emf= Persistence.createEntityManagerFactory("EstoqueJPA");
EntityManager em=emf.createEntityManager();
em.getTransaction().begin();
Especificacao esp = new Especificacao();
esp.setId( new Long (10));
esp.setDescricao("RAZZO - Especificação de Matérias-Primas, Mel Hidroxipropiltrimônio.");
esp.setNome("RAZ-N-Essência Goose Bay");
esp.setNomeresumido("RAZ-N-Essência Boo");
esp.setOrigem("Cliente");
em.persist(esp);
em.getTransaction().commit();
em.close();
emf.close();
}
@Entity
@Table(name="especificacao")
public class Especificacao implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(unique=true, nullable=false)
private Long id;
@Column(nullable=false, length=1000)
private String descricao;
@Column(nullable=false, length=255)
private String nome;
@Column(nullable=false, length=255)
private String nomeresumido;
@Column(length=255)
private String origem;
//bi-directional many-to-one association to PrecoMetodo
@OneToMany(mappedBy="especificacao")
private List<PrecoMetodo> precoMetodos;
public Especificacao() {
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public String getDescricao() {
return this.descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getNome() {
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getNomeresumido() {
return this.nomeresumido;
}
public void setNomeresumido(String nomeresumido) {
this.nomeresumido = nomeresumido;
}
public String getOrigem() {
return this.origem;
}
public void setOrigem(String origem) {
this.origem = origem;
}
public List<PrecoMetodo> getPrecoMetodos() {
return this.precoMetodos;
}
public void setPrecoMetodos(List<PrecoMetodo> precoMetodos) {
this.precoMetodos = precoMetodos;
}
}
Obrigado a Todos.