Bom galera
Estou iniciando o meu estudo com JPA, estou lendo o livro JPA 2.0 Matering
Tive uma dúvida
Segue o exemplo
@Entity
public class Employ implements Serializable{
@Id
@GeneratedValue
private int id;
private String nome;
@ManyToOne
private Departament departament;
}
@Entity
public class Departament implements Serializable{
@Id
private int id;
private String name;
}
E agora a dúvida
Porque isso não da certo?
Departament d = new Departament();
d.setName("Programação");
Employ e = new Employ();
e.setNome("Bruno");
e.setDepartament(d);
em.persist(e);
E isso da certo
Departament d = new Departament();
d.setName("Programação");
Employ e = new Employ();
e.setNome("Bruno");
e.setDepartament(d);
em.persist(d);
em.persist(e);
Sempre quando eu vou criar um objeto que tem outro objeto como parte do relacionamento eu tenho que gravar o objeto primeiro pra depois gravar o outro?
Ou tem alguma forma que ele já faz isso automático sem eu precisar dar 2 persist?
Porém tem o problema, no caso muitos employes podem trabalhar em 1 unico departamento, como eu consigo esse comportamento, sendo que se eu cadastrar de novo o departamento da erro de primery key já existente?
Atenciosamente