2010-03-30 16 views

Odpowiedz

5

Nie ma rzeczywistych zalet technicznych (dis). Mogą one być niekorzystne pod względem funkcjonalnym tylko wtedy, gdy samemu dokonamy typowania/samodzielnego rzucenia.

Ja sam używam ResultSet#getObject() tylko wtedy, gdy zwróconą wartością jest prymitywny, który ma wartość domyślną DB na NULL, a zadeklarowana wartość jest opakowaniem dla elementu podstawowego. Na przykład. Integer age:

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

i używam PreparedStatement#setObject() praktycznie cały czas, w sposób użytkowy:

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