Estou fazendo um protótipo e estou com um erro, que não entendo o motivo.
Tenho meu entity com um chave simples:
[code]package xyz;
import java.io.Serializable;
import javax.persistence.*;
@Entity
@Table(name = "AVP")
public class AcessorioVP implements Serializable {
@Id
@Column(name="COL1")
private Long col1;
@Column(name="COL2")
private String col2;
// gets e sets
}[/code]
E o método que faz a persistência:
public void create(Object entity) {
em.persist(entity);
em.flush();
}
Quando passo um objeto do entity com todo os atributos com valor, ele lança a seguinte exceção:
[quote]2007-08-30 12:00:38.402 ERROR J2EE EJB-08006 [BaseTransacional:public void xyz.BaseTransacionalBean.create(java.
lang.Object)] exceção ao chamar método: javax.transaction.TransactionRolledbackException:
Exception Description: Cannot persist detached object [xyz.AcessorioVP@9003aa].
Class> xyz.AcessorioVP Primary Key> [2]; nested exception is:
javax.persistence.EntityExistsException:
Exception Description: Cannot persist detached object [xyz.AcessorioVP@9003aa].
Class> xyz.AcessorioVP Primary Key> [2]
…[/quote]
Eu não defini nada demais no @Id do meu entity, suponho que passando o valor, ele se vira pra persistir. Ou estou esquecendo de algo?
Tks