Spring事务报Connection is read-only
昨天做项目时,写了个方法,程序突然报了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
呵呵,代码规范命名