2010-03-30 14 views

risposta

5

Non ci sono veri (tecnici) vantaggi tecnici. Potrebbero essere solo svantaggiosi dal punto di vista funzionale se in seguito stai eseguendo il controllo ortografico/il casting.

Io stesso uso ResultSet#getObject() solo quando il valore restituito è una primitiva che è DB-defaulted a NULL e il valore dichiarato è un wrapper per la primitiva. Per esempio. Integer age:

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

E io uso PreparedStatement#setObject() praticamente tutto il tempo, in un metodo di utilità:

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