tenho que criar a tabela da seguinte classe, porém estou em dúvida em como fazer… Já tenho a classe Pessoa e PedidoItem
Exemplo simples da classe:
public class Pedido {
private Long id;
private Pessoa pessoa;
private List<PedidoItem> itens;
}
Banco de dados: H2
Acho que seriam 3 tabelas, assim:
- PESSOA
- PEDIDO
- PEDIDO_ITEM
Desta forma, será que esta de acordo?
As entidades são:
public class Pedido {
private Long id;
private Pessoa pessoa;
private List<PedidoItem> itens;
}
public class PedidoItem {
private long id;
private Produto produto;
private int quantidade;
private Pedido pedido;
}
public class Pessoa {
private long id;
private String cpf;
private String nome;
}
public class Produto {
private int registro;
private String descricao;
private BigDecimal valorUnitario;
}
No banco de dados:
CREATE TABLE pessoa (
id INT AUTO_INCREMENT PRIMARY KEY,
cpf VARCHAR(11) NOT NULL,
nome VARCHAR(250) NOT NULL
);
CREATE TABLE produto (
id INT AUTO_INCREMENT PRIMARY KEY,
descricao VARCHAR(50) NOT NULL,
valor_unitario NUMERIC(10,2) NOT NULL
);
CREATE TABLE pedido (
id INT AUTO_INCREMENT PRIMARY KEY,
idCliente integer,
CONSTRAINT fk_idCliente
FOREIGN KEY (idCliente)
REFERENCES pessoa(id)
);
CREATE TABLE pedidoItem (
id INT AUTO_INCREMENT PRIMARY KEY,
qntd INT,
idProduto integer,
CONSTRAINT fk_idProduto
FOREIGN KEY (idProduto)
REFERENCES produto(id),
idPedido integer,
CONSTRAINT fk_idPedido
FOREIGN KEY (idPedido)
REFERENCES pedido(id)
);
1 curtida
Aparentemente, está correto sim. Vc definiu as FKs de acordo com a modelagem.
muito obrigado pela ajuda, darei continuidade assim então. qlqr dúvida mando aqui XD