Perilaku default untuk MySQL Connector/J adalah memuat seluruh konten ResultSet ke dalam memori segera setelah .executeQuery disebut. Jadi, meskipun ResultSet our kami adalah TYPE_FORWARD_ONLY pengembang MySQL JDBC tampaknya memutuskan untuk menjadi "baik" dan mengizinkan kami menggunakan .first , .absolute , dll. dalam kasus itu (karena seluruh ResultSet ada dalam memori dan tersedia), meskipun spesifikasi JDBC mengatakan
Namun, perhatikan bahwa jika seluruh ResultSet tidak dijamin berada di memori, misalnya jika kita menggunakan st.setFetchSize(Integer.MIN_VALUE) untuk "mengalirkan" ResultSet saat kami menggulirnya, MySQL Connector/J tidak akan membiarkan kami menggunakan apa pun selain .next atau kita akan mendapatkan
com.mysql.jdbc.OperationNotSupportedException: Operation not supported for streaming result sets