遇到问题---java--hibernate多线程中使用getCurrentSession报错innerSetException



现象

一般单线程中使用hibernate可以直接使用getCurrentSession如下:

    public BigInteger countToday(String shareType, String shareCode) {
    	Session  session=sessionFactory.getCurrentSession();
        String hqlString = "select count(*) from share_basic as p where p.shareCode ='"+shareCode+"'  and p.shareType='"+shareType+"'  and year(dateValue)=year(now()) and month(dateValue)=month(now()) and day(dateValue)=day(now())";  
        BigInteger result= (BigInteger) session.createSQLQuery(hqlString).uniqueResult();       
            return result;
    }

但是把countToday方法在多线程中调用时会直接跳转到FutureTask类中的innerSetException异常。

其实是报No session异常。



原因

你可能感兴趣的:(java,ssh,multithreading,遇到问题解决方案集锦)