Currently I am facing a problem in which Hibernate session is executing an SQL query against the Oracle database but then hibernate never gets control back and looks as if waiting for something forever.
I am using spring framework's hibernate support for database persistence.
I debugged the application and saw that Hibernate Session is executing a prepared statement underneath when it tries to flush data to the database and that's when everything gets hung.
My application creates multiple threads using JDK5 ThreadExecutor service and then, each thread invokes a new DAO instance which extends spring framework's HibernateSupport class. I am not sure why Hibernate acts this ways. All the threads are under the same transaction. So we have a kind of one transaction and one DAO per thread logic.
Any feedback will be highly appreciated.