org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
是因为在sevice中没有加入@Transactional注解,加入后会自动引入
import org.springframework.transaction.annotation.Transactional;
Spring配置
<!-- 创建连接池 -->
<!-- 引入外部的jdbc属性文件 -->
<!-- 连接池 -->
<!-- 配置hibernate 3个步骤 -->
<!-- 注入连接池 -->
<!-- 配置hibernate属性 -->
<!-- 加载hibernate映射文件 -->
<!-- 配置事务管理 -->
<!-- 开启事务注解 -->
<!-- action类(控制层类) -->
<!-- service类(业务逻辑类) -->
<!-- Dao类(数据访问层) -->
<!-- 引入外部的属性文件 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.url}"></property>
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!-- 配置hibernate -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 注入连接池 -->
<property name="dataSource" ref="dataSource" />
<!-- 配置hibernate属性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<!-- 加载hibernate映射文件 -->
<property name="mappingResources">
<list>
<value>com/ming/domain/Product.hbm.xml</value>
</list>
</property>
</bean>
<!-- 配置事务管理 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 开启事务注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
<!-- action类 -->
<bean id="action" class="com.ming.action.ProductAction" scope="prototype">
<property name="productService" ref="productService"></property>
</bean>
<!-- service类(业务逻辑类) -->
<bean id="productService" class="com.ming.service.ProductService">
<property name="productDao" ref="productDao"></property>
</bean>
<!-- Dao类(数据访问层) -->
<bean id="productDao" class="com.ming.dao.ProductDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)