您的位置:首页 > 运维架构

异常:InvalidDataAccessApiUsageException:Write operations are not allowed in read-only mode

2012-09-02 13:49 435 查看
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
这几天,碰到个错误.在网上查询,大多是改动配置文件,而公司的项目,配置文件是不能随便修改,况且,我这个保存功能原本是好使的,在我不知道改了什么的情况下报错了,原本以为是修改的数据配置文件有问题,但是核对了几遍都没问题,最后找很牛的同事看看,他恍然大悟,唉,原来这样。。

下面是导致这个异常的我的原因:

虽然目前还是不太清楚整个流程,但是如果在交给spring 管理的情况下,有一个事务处理配置文件,xxx.xml,如下:



红色圈上的地方定义了,你方法名的限制。如果你以这些名字,如load,find,get,list,fetch开头命名你的方法的话,那么你这个方法的数据操作被定义为readonly的,在这些方法里做数据库的删除,添加,修改操作是不被允许的,会报出这个异常。

于是,我改了我的方法名,之前好使是因为我之前并不是以get开头的,因为修改一些东西,将方法名改成了get开头的方法名,好吧,报错不要紧,又知道了点东西,

修改方法名字之后,方法的添加功能就不再报错,成功的添加进数据了。

所以我们需要做的只是修改我们的方法名即可,并不一定要去修改配置文件,修改配置文件,尤其是已经成型的工程,可能会引发其他一系列我们尚不明了的问题。

所以当有问题出现的时候,我们首先要做的是从我们的代码中找问题,并修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐