有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

请帮忙


共 (1) 个答案

  1. # 1 楼答案

    据我所知,这是不可能的

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

    • 根据您的hibernate代码创建的内容,创建一个每分钟/小时运行一次的事件,但此事件以固定的间隔运行,而不是仅运行一次
    • 创建一个表格,在其中放置运行指令及其应运行的计划时间
    • 使用hibernate将指令插入该表
    • 让您的事件检查该表并从中运行代码