如果存储过程中定义了事务,在spring中引用这个存储过程,会造成引用代码所在的spring配置事务失效。表现为:异常抛出,保存成功。解决办法:去掉存储过程中的 BEGIN TRANSACTION,前提是存储过程中只有查询。平时的java代码中尽量只引用数据库中封装的函数,不要引用存储过程。