您的位置:首页 > 数据库 > MySQL

hibernate执行原生态的sql的问题-mysql数据库

2017-10-17 14:43 399 查看
在做项目的时候遇到一个问题,SSH框架,连接mysql数据库,在java代码中要执行一个存储过程,但是每次执行这个存储过程之前要是有hibernate执行原生sql语句的update、insert或者delete就会报错:

Lock wait timeout exceeded; try restarting transaction

刚开始一直不知道原因,因为以前连接的oracle数据库,感觉应该没问题的,但是现在就是一直报这个错误;通过网上查找,说这个错误是因为数据库的事务没提交,在第二次在执行delete或者update的时候就会报这个错。确实在我的存储过程中就有insert的语句。

解决办法:

在hibernate里面的执行原生sql的方法里面:

红色框出来的是我后来加上的,我知道这儿肯定有其他方法去提交,但是目前我的解决办法就只是这样了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql SSH