2010-03-30 16 views

Respuesta

5

No hay ventajas técnicas. Es posible que solo sean funcionalmente desventajosos si realiza la verificación de tipo/vaciado posteriormente.

Yo mismo uso ResultSet#getObject() solo cuando el valor devuelto es una primitiva que tiene un DB-default en NULL y el valor declarado es un envoltorio para la primitiva. P.ej. Integer age:

user.setAge(resultSet.getObject("age") != null ? resultSet.getInt("age") : null); 

Y uso PreparedStatement#setObject() prácticamente todo el tiempo, en un método de utilidad:

public static void setValues(PreparedStatement preparedStatement, Object... values) throws SQLException { 
    for (int i = 0; i < values.length; i++) { 
     preparedStatement.setObject(i + 1, values[i]); 
    } 
}