Поведението по подразбиране за MySQL Connector/J е да зареди цялото съдържание на ResultSet в паметта веднага щом .executeQuery е наречен. Така че, въпреки че нашият ResultSet е TYPE_FORWARD_ONLY разработчиците на MySQL JDBC очевидно са решили да бъдат "добри" и да ни позволят да използваме .first , .absolute и т.н. в този случай (защото целият ResultSet е в паметта и е лесно достъпен), въпреки че спецификацията на JDBC казва
Имайте предвид обаче, че ако целият ResultSet не е гарантирано, че ще бъде в паметта, например, ако използваме st.setFetchSize(Integer.MIN_VALUE) да "поточно" ResultSet докато го превъртаме, MySQL Connector/J няма да ни позволи да използваме нищо друго освен .next или ще получим
com.mysql.jdbc.OperationNotSupportedException: Operation not supported for streaming result sets