Dúvida referente a uma tabela venda a qual a mesma recebe duas chaves estrangeiras do cliente e do produto e na hora de inserir apresenta erro
public void add(Venda venda) {
try {
Connection connection = Conexao.getInstance().getConnection();
String sql = "INSERT INTO VENDAS(DATACOMPRA,IDCLIENTE,IDPRODUTO,CODIGOCOMPRA) VALUES(?,?,?,?)";
PreparedStatement statement =connection.prepareStatement(sql);
statement.setString(1,venda.getData());
statement.setInt(2, venda.getIdCliente());
statement.setInt(3,venda.getIdProduto());
statement.setInt(4,venda.getCodigoCompra());
statement.execute();
statement.close();
connection.close();
System.out.println("Venda Cadastrada com sucesso!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
######TESTANDO#########
private void adicionaVenda() {
System.out.println("Digite a data de compra: ");
String data =Leitor.scanString();
System.out.println("Digite o ID do cliente que fez a compra: ");
int idCliente=Leitor.scanInt();
System.out.println("Digite o ID do produto que deseja adquirir: ");
int idProduto=Leitor.scanInt();
System.out.println("Digite o Codigo de compra: ");
int codigoCompra=Leitor.scanInt();
Venda venda =new Venda( idCliente, idProduto, data, codigoCompra);
vendaDao.add(venda);
}
ERRO : org.postgresql.util.PSQLException: ERROR: insert or update on table "vendas" violates foreign key constraint "vendas_idcliente_fkey"
Detalhe: Key (idcliente)=(1) is not present in table "cliente".