java - 如何从 hibernate 创建/调用 mysql 事件?

标签 java mysql spring hibernate

我正在使用spring、hibernate。我需要当将状态更新为“A”时,事件在一天后执行。 我的问题是:如何从 Java 创建事件? 我一直在这样做:

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: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - No value specified for parameter 1

请帮忙!

最佳答案

据我所知这是不可能的。

另一种方法是从命令行创建以下结构的事件:

  • 根据您的 hibernate 代码创建的内容创建一个每分钟/每小时等运行一次的事件,但该事件定期运行而不是只运行一次;
  • 创建一个表格,在其中放置运行指令及其应运行的预定时间;
  • 使用 hibernate 将指令插入到该表中;
  • 让您的事件检查该表并从那里运行代码。

关于java - 如何从 hibernate 创建/调用 mysql 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36460842/

相关文章:

spring - 使用curl测试时,Grails Spring Security Rest未经授权(401)

java - @ConditionalOnExpression 如果属性存在

mysql - 使用外键连接表

java - 如何获取鼠标移动之间的时间?

java - Android 广播接收器的问题

Java : Storing Data in Array Of Object from JOptionPane Dialog

MySQL 产品/类别/目录加入

mysql - 过滤尚未通过科目的学生

java - 无法为 log4j 设置 LevelRangeFilter

Java 转换为 PHP?