Извлечение параллелизма объекта RowSet приводит к исключению
Цитирование учебника Oracle по RowSet,
Когда вы создаете объект JdbcRowSet с конструктором по умолчанию, новый объект JdbcRowSet будет иметь следующие свойства:
- параллелизм: ResultSet.CONCUR_UPDATABLE (может быть обновлен)
среди нескольких других свойств.
Когда я пытаюсь сделать то же самое
public class RowSetPrimer {
public static void main(String[] args) {
try {
RowSetFactory factory = RowSetProvider.newFactory();
printProperties(factory.createJdbcRowSet());
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void printProperties(JdbcRowSet rowSet) throws SQLException{
System.out.println(rowSet.getType());
System.out.println(rowSet.getConcurrency());
System.out.println(rowSet.getEscapeProcessing());
System.out.println(rowSet.getMaxRows());
System.out.println(rowSet.getQueryTimeout());
System.out.println(rowSet.getShowDeleted());
System.out.println(rowSet.getTransactionIsolation());
System.out.println(rowSet.getTypeMap());
}
}
Это приводит к исключению,
Exception in thread "main" java.lang.NullPointerException
at com.sun.rowset.JdbcRowSetImpl.getConcurrency(JdbcRowSetImpl.java:2130)
at jdbc.RowSetPrimer.printProperties(RowSetPrimer.java:41)
at jdbc.RowSetPrimer.main(RowSetPrimer.java:32)
Я что-то не так делаю?
Работает на JDK 1.8.131. Аналогичный опыт в JDK 7, а также.
ОБНОВЛЕНИЕ Моя ошибка, учебник упоминает, используя конструктор по умолчанию, который составляет
JdbcRowSet rowSet = new JdbcRowSetImpl();
Но это не может быть успешно скомпилировано, так как это в пакете Sun. Но говоря иначе.