2016-04-06 11 views
0

私はspring , hibernateを使用しています。ステータスを "A"に更新すると、イベントが1日後に実行される必要があります。 私の質問は:eventを作成するにはJavaと? は、私はこれをやっている:hibernateから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を使用して、そのテーブルに命令を挿入します。
  • あなたのイベントでそのテーブルをチェックしてそこからコードを実行させてください。
関連する問題