昨天做项目时,写了个方法,程序突然报了Connection is readonly. Queries leading to data modification are not allowed调了程序半天,最后才发现是自己在spring配置文件中增加了事务.把方法写成了大写开头了,但是spring配置是以小写开头
代码如下:
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"><property name="transactionManager" ref="transactionManager" /><property name="transactionAttributes"><props><prop key="save*">PROPAGATION_REQUIRED</prop><prop key="update*">PROPAGATION_REQUIRED</prop><prop key="delete*">PROPAGATION_REQUIRED</prop><prop key="set*">PROPAGATION_REQUIRED</prop> <prop key="change*">PROPAGATION_REQUIRED</prop> <prop key="get*">readOnly</prop><prop key="*">readOnly</prop></props></property></bean>
大家看下红色代码,这就是事务的配置, 在属性key中,我定义了get*.意思是方法名只能是以get名称开头
而我却写成了Get 了,这样就使用默认事务了<prop key="*">readOnly</prop>.所以报Connection is readonly. Queries leading to data modification are not allowed
呵呵,代码规范命名