Eai galera,
Estou com uma dúvida referente ao save do JPA/Hibernate.
Seguinte, para ficar mais claro, digamos que eu tenha as classes abaixo com os seus relacionamentos:
public class Pedido {
private int id;
@OneToMany(cascade=CascadeType.ALL, mappedBy="pedido")
private List<Item> itens = new ArrayList<>();
}
public class Item {
private int id;
private String produto;
@ManyToOne
private Pedido pedido;
}
Digamos que eu instancie um objeto Pedido e adicione 3 itens:
Pedido p = new Pedido();
p.getItens().add(item1);
p.getItens().add(item2);
p.getItens().add(item3);
E utilize o save ou saveOrUpdate:
sessao.save( p );
Verificando os logs, são executado um insert para cada item:
insert into tabelaItem (id, produto, pedido) values(1, teste, 1);
insert into tabelaItem (id, produto, pedido) values(2, teste, 1);
insert into tabelaItem (id, produto, pedido) values(3, teste, 1);
minha dúvida é se tem como fazer com que executasse apenas um insert:
insert into tabelaItem (id, produto, pedido) values (1, teste, 1),(2, teste, 1),(3, teste, 1);