Tem como saber qual será o próximo código gerado de um campo autoincrement?
como você não especificou se é jdbc ou jpa…
e tem uma sessão propria do forum para persistencia ok?
[code]public int adiciona(Compra compra) throws SQLException{
String sqlCompra = " INSERT INTO TB_COMPRA ( EMPRESA_ID , CLIENTE_ID , DATA_COMPRA , HORA_COMPRA , TOTAL_DOUBLE) VALUES (?,?,?,?,?) ";
conexao = Conexao.getConnection();
int i = 1;
PreparedStatement pstmtCompra = conexao.prepareStatement(sqlCompra , Statement.RETURN_GENERATED_KEYS) ;
pstmtCompra.setInt(i++,compra.getEmpresaId());
pstmtCompra.setInt(i++, compra.getClienteId());
pstmtCompra.setDate(i++,new Date(compra.getDataHora().getTime()));
pstmtCompra.setTime(i++,new Time(compra.getHora().getTime()));
pstmtCompra.setDouble(i++, compra.getTotal());
pstmtCompra.executeUpdate();
ResultSet rs = pstmtCompra.getGeneratedKeys();
int compraId = 0;
if (rs.next()) {
System.out.println(rs.getInt(1));
compraId = rs.getInt(1);
}
conexao.close();
return compraId;
}[/code]
o segredo está no
esse metodo retorna o ultimo id que foi gerado da tabela compra