Reusing a session like that isn't the best idea. A better approach would be to use a user supplied connection. You can do this by defining the following property in your hibernate.cfg.xml:
Code:
<property name="hibernate.connection.provider_class">
org.hibernate.connection.UserSuppliedConnectionProvider
</property>
Then when you go get your new Session:
Code:
Connection conn = (get your JDBC connection here);
Session session = sessionFactory.openSession(conn);
...
You can probably package this up nicer with a utility class. But by doing this, you won't have your stale data issue.
Ryan-