Can ResultSets and Connections be passed around like other objects?
For example, If a ResultSet is is not scrollable, rows already read are not available, so passing the same ResultSet to different methods may not work as expected. If the originating Statement is closed, the ResultSet is generally no longer viable.
If there are multiple Statements on a Connection, a commit will affect all of them. Addtionally, as seen in Is Connection thread safe for Oracle drivers?, a Connection may carry out its requirement to be threadsafe by executing Statements serially.