Почему я вижу NotUpdatable, когда я вызываю ResultSet.refreshRow ()?

Когда я вызываю следующие строки:

Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet resultSet = statement.executeQuery("select * from user");
resultSet.next();
resultSet.refreshRow();//exception throws here

Я вижу следующее исключение:

com.mysql.jdbc.NotUpdatable: набор результатов не обновляется. Этот набор результатов должен исходить из оператора, созданного с типом набора результатов ResultSet.CONCUR_UPDATABLE, запрос должен выбирать только одну таблицу, не может использовать функции и должен выбирать все первичные ключи из этой таблицы. Подробнее см. В спецификации API JDBC 2.1, раздел 5.6. Этот результирующий набор должен исходить из оператора, созданного с типом результирующего набора ResultSet.CONCUR_UPDATABLE, запрос должен выбирать только одну таблицу, не может использовать функции и должен выбирать все первичные ключи из этой таблицы. См. Спецификацию API JDBC 2.1, раздел 5.6 для более подробной информации.

Я задавался вопросом это исключение, потому что если читатьrefreshRow Методом Javadoc мы можем найти следующее:

Метод refreshRow позволяет приложению явно указывать драйверу JDBC повторно получать строку (и) из базы данных.

Таким образом, следующее направление:database --> ResultSet

У меня есть следующее понимание:

обновляемым является возможность использовать следующее направление:

ResultSet --> database

Таким образом, я не понимаю причину проблемы.

просьба уточнить.

Ответы на вопрос(1)

Ваш ответ на вопрос