Eu estou com um problema de cascade. Num relacionamento OneToMany, a chave estrangeira só está sendo persistida quando tiro o mappedBy. Fui dar uma olhada na especificação do JPA e tem dizendo para colocar o mappedBy no lado “não proprietário” do relacionamento, e que o mesmo é opcional.
No caso abaixo, departamento “cascateia” o persist para os estudantes, mas o estudante não referencia o departamento. Se eu tirar o mappedBy funciona.
@Entity
public class Department {
...
@OneToMany(mappedBy="department",cascade=CascadeType.ALL)
private Set<Student> students = new HashSet<Student>();
...
}
@Entity
public class Student {
...
@ManyToOne (cascade=CascadeType.ALL)
private Department department;
...
}