Um desenvolvedor foi chamado para definir o mapeamento objeto-relacional das classes Pedido e Cliente do sistema de vendas da sua empresa. As classes foram definidas da seguinte maneira:
public class Cliente {
private long id;
private String nome;
private Set<Pedido> pedidos;
}
public class Pedido {
private long id;
private Cliente cliente;
private Date dataPedido;
private double total;
}
O modelo de banco de dados também já foi definido e as tabelas PEDIDO e CLIENTE são representadas a seguir.
CLIENTE(CLI_ID*, NOME)
PEDIDO(PED_ID*, CLI_ID, DATA_PEDIDO,TOTAL)
As colunas participantes das chaves primárias estão com o símbolo * no nome. Além disso, todos os campos são NOT NULL. As chaves estrangeiras estão definidas na tabela abaixo.
| Origem | Destino | ||
| Tabela | Campo | Tabela | Campo |
| PEDIDO | CLI_ID | CLIENTE | CLI_ID |
Considerando a solução de mapeamento usando JPA, as anotações que devem ser colocadas sobre o atributo pedidos, da classe Cliente, e o atributo cliente, da classe Pedido, são, respectivamente,