This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
But I think what you really need is a session listener, which listens for the timeout to occur. When timeout occurs and session is going to be destroyed then this listener will be notified and you can update the database using it.