Galera, novamente estou aqui, depois de algum tempo.
Desta vez tenho duas entidades:
Produto que possuipublic class Produto implements Serializable{
@Id
@Basic(optional = false)
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "produto_id_seq")
private int id;
@ManyToOne(cascade = CascadeType.ALL)
//@JoinColumn( name = "unidade_codigo", referencedColumnName = "codigo_unidade")
@JoinColumn( name = "unidade_codigo")
private Unidade unidade;
/*Metodos get e sets...*/
}
public class Unidade implements Serializable{
@Id
@Basic(optional = false)
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "unidade_id_seq")
private int id;
@OneToMany(mappedBy="unidade", cascade = CascadeType.ALL)
private List<Produto> produtos;
/*Metodos get e sets...*/
}
Um produto possui apenas uma unidade.
Uma unidade possui varios produtos.
Exemplo:
Unidade = Litros
Produtos = Cervejas, Sucos, Refrigerantes e etc....
O problema
Quando eu adiciono uma unidade tudo certo.
Quanto eu adiciono um produto e seto a unidade ele tenta inserir novamente,
Tentativas
Ja tentei trocar o cascade e mudou o problema devido a isso acredito que o problema esteja ai,
se colocar CascadeType.ALL ele tenta inserir e da erro devido a chave primaria que nao coloquei no codigo
se coloco qualquer outro cascadeType... ele da o seguinte erro:
"During synchronization a new object was found through a relationship that was not marked cascade PERSIST"
Espero Respostas