Sou iniciante e estou com uma dúvida, tenho duas tabelas relacionadas e gostaria de saber a melhor forma de representá-las em classes:
Tabela PEDIDO
ID_PEDIDO (PK)
DT_PEDIDO
(…)
Tabela PEDIDO_ITEM
ID_ITEM (PK)
ID_PEDIDO (FK)
VL_ITEM
(…)
As duas formas abaixo de representar em classes estão corretas? Ou seja, dependendo da forma de persistência e design pattern, cada uma tem sua vantagem? Sei que a primeira forma é mais comum, mas a segunda forma é errada ou aceitável? No caso, estou usando Spring MVC + JDBC Template, com padrão “dto > repository > service > controller”.
FORMA 1 (classe Pedido com atributo “lista de itens”):
public class Pedido {
private Long id;
private Calendar dtPedido;
private List<PedidoItem> itens;
// (...)
}
public class PedidoItem {
private Long id;
private Double vlItem;
// (...)
}
FORMA 2 (classe PedidoItem com atributo da classe “Pedido”):
public class Pedido {
private Long id;
private Calendar dtPedido;
// (...)
}
public class PedidoItem {
private Long id;
private Pedido pedido;
private Double vlPedido;
// (...)
}
Grato.