From cfb380d653547f36591d5407e4e60448fb4718cc Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 11 Oct 2011 02:08:26 +0000 Subject: [PATCH] fixed unbind failure through appropriate guard --- .../springframework/orm/jpa/vendor/HibernateJpaDialect.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/org.springframework.orm/src/main/java/org/springframework/orm/jpa/vendor/HibernateJpaDialect.java b/org.springframework.orm/src/main/java/org/springframework/orm/jpa/vendor/HibernateJpaDialect.java index 784f7f41b34..bcf90d8bc86 100644 --- a/org.springframework.orm/src/main/java/org/springframework/orm/jpa/vendor/HibernateJpaDialect.java +++ b/org.springframework.orm/src/main/java/org/springframework/orm/jpa/vendor/HibernateJpaDialect.java @@ -154,7 +154,10 @@ public class HibernateJpaDialect extends DefaultJpaDialect { } public void cleanup() { - TransactionSynchronizationManager.unbindResource(this.session.getSessionFactory()); + SessionFactory sessionFactory = this.session.getSessionFactory(); + if (TransactionSynchronizationManager.hasResource(sessionFactory)) { + TransactionSynchronizationManager.unbindResource(sessionFactory); + } if (this.previousFlushMode != null) { this.session.setFlushMode(this.previousFlushMode); }