Извлечение параллелизма объекта 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. Но говоря иначе.

0 ответов

Другие вопросы по тегам