@Override
    public EntidadBancaria insert(EntidadBancaria entidad) {
        PreparedStatement preparedStatement;
        Connection connection = connectionFactory.getConnection();
        try {
            preparedStatement = connection.prepareStatement("INSERT INTO entidadbancaria(nombre, fechaCreacion, codigoEntidad) VALUES(?,?,?)", Statement.RETURN_GENERATED_KEYS);
            preparedStatement.setString(1, entidad.getNombre());
            preparedStatement.setString(3, entidad.getCodigoEntidad());
            preparedStatement.setDate(2, new java.sql.Date(new Date().getTime()));

            int rows = preparedStatement.executeUpdate();

            if (rows > 0) {
                ResultSet resultSet = preparedStatement.getGeneratedKeys();
                if (resultSet.next()) {
                    entidad.setIdEntidad(resultSet.getInt(1));
                }
            } else {
                throw new RuntimeException("Fallo insertando datos");
            }
        } catch (SQLException ex) {
            throw new RuntimeException(ex);
        }

        connectionFactory.closeConnection();

        return entidad;
    }