【问题标题】:No Session found for current thread (Spring 4.0.5.RELEASE and Hibernate 4.3.5.Final)没有为当前线程找到会话(Spring 4.0.5.RELEASE 和 Hibernate 4.3.5.Final)
【发布时间】:2014-08-16 13:12:09
【问题描述】:

我见过几个类似的问题,但建议的解决方案都没有帮助我。

我正在将我的应用程序从 Spring 3.0.5.RELEASE 迁移到 4.3.5.Final,并将 Hibernate 3.6.0.Beta2 迁移到 4.3.5.Final。应用程序在旧版本的 Spring 和 Hibernate 中运行良好。

此次升级的主要原因是为了在我们的应用程序中使用 Hibernate 4 支持多租户。

这里有一些细节:

服务层

@Service("userServiceBean")
public class UserServiceImpl implements UserService {
private static final Logger logger = MyVacationLogger.getLogger(UserServiceImpl.class);

   @Autowired(required=true)
   private UserDAO userDAO;

   @Transactional(readOnly=true, propagation = Propagation.REQUIRED)
   public UserBean validateUser(UserBean userbean) throws MyVacationRuntimeException
   { .... }
}

DAO 层

@Repository("UserDAOBean")
public class UserDAOImpl implements UserDAO {

   @Autowired(required=true)
   @Qualifier("commondbSessionFactory")
   private SessionFactory sessFactory;

   @Override
   public UserDTO findUserbyEmail(String email) throws DataAccessException
   {   
      Session sess = sessFactory.getCurrentSession(); << Error Line 
      ....  
   }
}

错误

Caused by: org.hibernate.HibernateException: No Session found for current thread
at     org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:106)
at   org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:1014)
at com.ellisdon.portal.mv.dao.impl.UserDAOImpl.findUserbyEmail(UserDAOImpl.java:31)
at    com.ellisdon.portal.mv.service.impl.UserServiceImpl.validateUser(UserServiceImpl.java:38)

任何帮助将不胜感激。

谢谢, 比拉尔

【问题讨论】:

  • 您能否发布完整的堆栈跟踪以及会话工厂和事务管理器设置的 xml 或 java 配置?

标签: hibernate-4.x multi-tenant spring-4


【解决方案1】:

在事务外开启会话后,需要像这样绑定资源

session = sessionFactory.openSession();
TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(session));

【讨论】:

    猜你喜欢
    • 2015-05-28
    • 2014-01-10
    • 2013-06-21
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 2013-11-19
    • 2012-05-14
    相关资源
    最近更新 更多