2017-07-28 16 views
1

私のコーディングでは、org.hibernate.HibernateException: No Session found for current threadが出現するgetTokenDAO().updateDate(newtok, new Date());行にバグがあります。この問題を解決するのを手伝ってください。ここに私のコードJava- TimerTask-org.hibernate.HibernateException:現在のスレッドでセッションが見つかりません

Timer t = new Timer(); 
t.scheduleAtFixedRate(
    new TimerTask() { 
     public void run() { 
      try { 
       getTokenDAO().updateDate(newtok, new Date()); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      System.out.println("5 minutes passed"); 
     } 
    }, 
    0,  // run first occurrence immediately 
    300000); 
} 

PSがある:私は、スケジューラは新しいスレッドであなたのTimerTaskを実行します春

答えて

0

を使用しています。セッション/トランザクションは、ThreadLocal変数に保存されます。

TimerTaskrun()メソッドで新しい取引を開く必要があります。

関連する問題