请教spring 事物管理问题及OpenSessionInViewFilter使用
问题描述1、:我在web.xml文件中配置OpenSessionInViewFilter,能访问数据库,但事物不起作用,updata等操作需要手动开启事物;若在web.xml不配置OpenSessionInViewFilter,则无法访问数据库,错误提示“HTTP Status 500 - Request processing failed; nested exception is org.hibernate.HibernateException: No Session found for current thread”,请教这是什么原因。
2、请教下,我的sping事物管理是否正确
sping配置文件:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/mysqldb?useSSL=true" />
<property name="username" value="root" />
<property name="password" value="123456*" />
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="30" />
<!-- 连接池的最大值 -->
<property name="maxActive" value="500" />
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="2" />
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> -->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<!-- -->
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.max_fetch_depth">1</prop>
<prop key="hibernate.use_sql_comments">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/dfp/domain/User.hbm.xml</value><!-- 加载hibernate的映射文件*.hbm.xml -->
</list>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="basicService" class="com.basic.BasicService">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<context:component-scan base-package="com.basic.*" />
2、请教下,我的sping事物管理是否正确
sping配置文件:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url"
value="jdbc:mysql://localhost:3306/mysqldb?useSSL=true" />
<property name="username" value="root" />
<property name="password" value="123456*" />
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="30" />
<!-- 连接池的最大值 -->
<property name="maxActive" value="500" />
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="2" />
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<!-- <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> -->
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<!-- -->
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.max_fetch_depth">1</prop>
<prop key="hibernate.use_sql_comments">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/dfp/domain/User.hbm.xml</value><!-- 加载hibernate的映射文件*.hbm.xml -->
</list>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="basicService" class="com.basic.BasicService">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<context:component-scan base-package="com.basic.*" />
...全文
相关推荐
ubuntu22.04安装ebpf所需deb包
ubuntu22.04安装ebpf所需deb包
政府科技管理者如何高效整合区域创新资源并精准配置?.docx
政府科技管理者如何高效整合区域创新资源并精准配置?
基于霍尼韦尔Voyager 1400g系列扫描器
基于霍尼韦尔Voyager 1400g系列扫描器:有线图像扫描设备快速上手与配置指南【自动识别技术】基于Honeywell Voyager 1400g扫描器的多接口配置与条码读取优化:工业级固定式成像扫描设备应用指南
高校技术转移办公室人员如何快速识别与筛选高质量专利?.docx
高校技术转移办公室人员如何快速识别与筛选高质量专利?
政府科技管理者在推动区域科技成果转化过程中,如何解决技术供需信息匹配效率低的问题?.docx
政府科技管理者在推动区域科技成果转化过程中,如何解决技术供需信息匹配效率低的问题?


Web 开发
