Hành vi mặc định cho MySQL Connector / J là tải toàn bộ nội dung của ResultSet vào bộ nhớ ngay sau khi .executeQuery được gọi là. Vì vậy, mặc dù ResultSet của chúng tôi là TYPE_FORWARD_ONLY các nhà phát triển MySQL JDBC dường như đã quyết định trở nên "tốt đẹp" và cho phép chúng tôi sử dụng .first , .absolute , v.v. trong trường hợp đó (vì toàn bộ ResultSet có trong bộ nhớ và luôn sẵn sàng), mặc dù thông số JDBC cho biết
Tuy nhiên, lưu ý rằng nếu toàn bộ ResultSet không được đảm bảo nằm trong bộ nhớ, ví dụ:nếu chúng tôi sử dụng st.setFetchSize(Integer.MIN_VALUE) để "phát trực tiếp" ResultSet khi chúng ta cuộn qua nó, thì MySQL Connector / J sẽ không cho phép chúng ta sử dụng bất cứ thứ gì ngoài .next hoặc chúng tôi sẽ nhận được
com.mysql.jdbc.OperationNotSupportedException: Operation not supported for streaming result sets