I did find the reason. I had an SQL Query and when I was executing the query. I was closing the session. My method to close the session had a call to flush in it and hence it was failing. Bottom line is that if you are using Transactions commit() will do the flush you don't have to call flush and while closing session please close the session only don't do anything other than that.
What are you doing? You are supposed to be reading this tiny ad!
the new thread boost feature brings a LOT of attention to your favorite threads