Actually I would say that your problem is in your data layer.
Question: What do you expect the ResultSet returned from this method to do?
Fun fact #1: You cannot access data in a result set that is closed
Fun fact #2: You close the results set in the finally statement of your method which returns the result set.
I suspect that might be the technical source of your problem.
In general, returning a ResultSet from a method is normally a bad idea.
The standard practice is to iterate of all the results in the result set, store them into a List of Beans, close the result set, and return the List of beans.
subject: A Very little problem in h:dataTable implementation