Connection con = ConexaoDAO.getInstance().getConexao();
PreparedStatement psta = null;
List<ApontamentoFuncionario> listaApontFunc = apontamento.getApontamentoFuncionarios();
sql = " INSERT INTO FORCATRABALHO.APONTAMENTO_FUNCIONARIO"
+ " ("
+ " APO_RECNO,"
+ " FUN_RECNO,"
+ " SIT_RECNO,"
+ " HAB_RECNO,"
+ " FUN_SITUACAO,"
+ " APF_RESUMO_AREA,"
+ " ARE_RECNO"
+ " )"
+ " VALUES"
+ " ("
+ " ?,"
+ " ?,"
+ " ?,"
+ " ?,"
+ " ?,"
+ " ?,"
+ " ?"
+ " )";
psta = con.prepareStatement(sql);
psta.setInt(1, apontamento.getRecno());
psta.setInt(2, apontamentoFuncionario.getFuncionario().getRecno());
psta.setInt(3, apontamentoFuncionario.getSituacao().getRecno());
psta.setInt(4, apontamentoFuncionario.getHabilidade().getRecno());
psta.setString(5, apontamentoFuncionario.getFuncionario().getSituacao());
psta.setString(6, apontamentoFuncionario.getResumoArea());
if (apontamentoFuncionario.getArea() != null) {
psta.setInt(7, apontamentoFuncionario.getArea().getRecno());
} else {
psta.setNull(7, java.sql.Types.NUMERIC);
}
psta.execute();
con.commit();
Segue a estrtura da tabela
CREATE TABLE FORCATRABALHO.APONTAMENTO_FUNCIONARIO (
APO_RECNO NUMBER,
FUN_RECNO NUMBER,
SIT_RECNO NUMBER,
HAB_RECNO NUMBER,
FUN_SITUACAO VARCHAR2(50 BYTE),
APF_RESUMO_AREA VARCHAR2(2000 BYTE),
ARE_RECNO NUMBER,
CONSTRAINT PK_APONTAMENTO_FUNCIONARIO PRIMARY KEY (FUN_RECNO, APO_RECNO),
CONSTRAINT FK_APONTFUNC_APONTAMENTO FOREIGN KEY (APO_RECNO) REFERENCES FORCATRABALHO.APONTAMENTO (APO_RECNO) ON DELETE CASCADE ENABLE,
CONSTRAINT FK_APONTFUNC_FUNCIONARIO FOREIGN KEY (FUN_RECNO) REFERENCES DBT.FUNCIONARIO (FUN_RECNO) ENABLE,
CONSTRAINT FK_APONTFUNC_SITUACAO FOREIGN KEY (SIT_RECNO) REFERENCES FORCATRABALHO.SITUACAO (SIT_RECNO) ENABLE,
CONSTRAINT FK_APONTFUNC_HABILIDADE FOREIGN KEY (HAB_RECNO) REFERENCES FORCATRABALHO.HABILIDADE (HAB_RECNO) ENABLE,
CONSTRAINT FK_APONTFUNC_AREA FOREIGN KEY (ARE_RECNO) REFERENCES FORCATRABALHO.AREA (ARE_RECNO) ENABLE
)
Essa fk quem da erro FK_APONTFUNC_AREA pq insere zero e nao existe registro com o a PK 0
Estou tentando de tudo aqui e não ta indo por nada…