2016-04-06 38 views
0

我正在使用spring , hibernate。在將狀態更新爲「A」時,我需要在一天之後執行一個事件。 我的問題是:如何從Java創建event? 我一直在做這樣的:如何從休眠狀態創建/調用mysql事件?

Date endDate = cal.getTime(); 
    Timestamp time = new Timestamp(endDate.getTime()); 

    String sql = "CREATE EVENT EVENT_POLL ON SCHEDULE AT " + time + 
      " DO UPDATE POLL SET STATUS = 'F' WHERE ID = " + dto.getId(); 
    System.out.println("SQL: " + sql); 
    springHibernateDao.getSession().createSQLQuery(sql).executeUpdate(); 

我得到這個error

ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - No value specified for parameter 1

請幫幫忙!

回答

0

據我所知這是不可能的。

的另一種方法是創建在命令行中的結構如下事件:

  • 創建一個運行每分鐘/小時等根據事件你的Hibernate代碼是創造不同的是這個事件運行定期而不只是一次;
  • 創建一個表格,在該表格中您將運行指令與其應運行的計劃時間一起放入;
  • 使用hibernate將指令插入到該表中;
  • 讓你的事件檢查該表並從那裏運行代碼。