Bom dia galera,
eu tenho o seguinte mapeamento bilateral OneToMany e ManyToOne:
Pessoa:
@Entity
@Table(name = "tb_pessoa")
public class Pessoa implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id_tb_pessoa")
    private Integer id;
    private String nome;
    @OneToMany(mappedBy = "pessoa", cascade = {CascadeType.PERSIST})
    private List<Contato> contatos;
}Contato:
@Entity
@Table(name = "tb_contato")
public class Contato implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id_tb_contato")
    private Integer id;
    @ManyToOne
    @JoinColumn(name = "fk_tb_pessoa", nullable = false)
    private Pessoa pessoa;
    private String descricao;
}A minha dúvida é a seguinte, quando é tento persistir pelo lodo fraco do relacionamento Pessoa da seguinte forma:
Contato c  = new Contato();
c.setDescricao("(99) 99999-9999");
Pessoa p = new Pessoa();
p.setNome("Fulano");
p.contatos.add(c);tenho uma ConstraintViolationException, ou seja, estou violando uma restrição porque eu não posso adicionar um contato sem uma pessoa.
Para resolver isso tenho que setar a pessoa do meu contato manualmente assim:
Contato c  = new Contato();
c.setDescricao("(99) 99999-9999");
Pessoa p = new Pessoa();
p.setNome("Fulano");
//Setando manualmente
c.setPessoa(p);
p.contatos.add(c);Tem alguma forma que eu possar automatizar isso, sem precisar ter que setar a pessoa manualmente?
Espero ter sido claro, Desde já obrigado pelas respostas.
 
            