我使用下面的代码将数据插入到DB2表中,它是grails cron作业的一部分。作业成功运行但我没有在数据库表中看到数据。我在应用程序日志中也没有看到任何错误。一段时间后我重新做同样的工作,我在数据库表中看到了数据。我不确定为什么我会看到这种行为。
代码段:
def conn = new Sql( dataSource )
For loop which is running from 1 to 11813
conn.execut("SQL Query")
很少的事情: 1.我没有显式调用conn.close(),因为当我们使用带数据源的SQL时,我们不必调用它 2.我使用此conn.execute的方法是Transactional。 3.此方法还包含hibernate对象保存,如下所示:
if (!Object.save(flush:true, failOnError:true)) {
//throw exception
}
你能建议吗?谢谢!
答案 0 :(得分:0)
尝试将此代码放入grails服务中,并在类名上方添加@Transactional注释。