Pessoal,
Estou iniciando meus estudos sobre JPA e minha dúvida é simples: Tenho as classes Cliente[1] - [*]Pedido, como faço para persistir no banco de dados? Tentei conforme abaixo porém só persistiu o Cliente.
List<Pedido> pedidos = new ArrayList<Pedido>();
Pedido pedido = new Pedido();
pedido.setDescricaoPedido("testePedido");
Cliente _cliente = new Cliente();
_cliente.setNome(nome);
_cliente.setPedidos(pedidos);
em.persist(_cliente);
As classes:
Cliente:
@Entity
@Table(name="cliente")
public class Cliente implements Serializable{
private static final long serialVersionUID = 1L;
private int id;
private String nome;
private List<Pedido> pedidos;
@Id
@Column(name = "id_cliente")
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="cliente_id")
public List<Pedido> getPedidos() {
return pedidos;
}
public void setPedidos(List<Pedido> pedidos) {
this.pedidos = pedidos;
}
}
Pedido:
@Entity
public class Pedido implements Serializable{
private static final long serialVersionUID = 1L;
private int id;
private String descricaoPedido;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescricaoPedido() {
return descricaoPedido;
}
public void setDescricaoPedido(String descricaoPedido) {
this.descricaoPedido = descricaoPedido;
}
}