Estou tentando fazer um insert em cascata, ou seja, inserindo vários dados em várias tabelas através de relacionamento.
Por exemplo, tenho a classe A que tem um List da classe B.
O meu relacionamento está assim:
Classe A:public class CLassA{
@Id
@Generated(GenerationTime.INSERT)
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id_classA")
private Long id;
@OneToMany(cascade={CascadeType.ALL}, fetch=FetchType.EAGER)
@JoinColumn(name="id_classA", insertable=true, updatable=true)
private List<ClassB> listClassB;
}
public class ClassB{
@Id
@Generated(GenerationTime.INSERT)
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id_classB", insertable=true, updatable=true)
private Long id;
@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="id_classA")
private ClassA classA;
}
ArrayList<ClassB> list = new ArrayList<ClassB>();
list.add(new ClassB());
ClassA classA = new ClassA();
classA.setListClassB(list);
GenericDAO dao = new GenericDAO();
dao.save(classA)
Só funciona quando eu faço ao contrário, ou seja, quando eu tento inserir uma ClassB com várias ClassA. Isso é erro de configuração? Ou não tem como fazer este insert?
