Spring4+Hibernate4事务小记
来源:互联网 发布:数据库的储存过程 编辑:程序博客网 时间:2024/05/20 04:51
转:http://www.cnblogs.com/GarfieldTom/p/3422574.html
学习Spring+Hibernate,非常强大的框架,为了追新,就直接从最高版本开始学习了,这要冒很大的风险,因为网上可查到的资料大多是针对旧版本的,比如Spring3,Hibernate3。
根据我的测试,记录如下:
1.Spring4事务必须针对接口,否则报错。(之前可以不针对接口?)如果没有事务,则bean普通类也可以注入。
2.事务可以放在接口上,也可以放在实现上。
3.注意应用程序空间必须统一,否则事务失败。
4.Bean最好都交给Spring来管理,如果不是,则如果出现事务控制,可能因不同的应用空间而造成事务失败。
5.事务连接可以使用DataSourceTransactionManager,使用HibernateTransactionManager也可以。
<!-- <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean>
6.如果使用了JdbcTemplate和Hibernate,则应使用HibernateTransactionManager,如果使用DataSourceTransactionManager,则会提示没有活动Session错误。
(这个可能是我配置的有问题?)
7.如果使用事务,则调用时一定要使用接口,否则就会报告错误。
BillOperbaseBill=(BillOper)ctx.getBean("saleBill");
BillOper为第一没接口。
8.如果在程序中像这样使用:
sessionFactory.getCurrentSession().save(T);
如果不开启事务,则会报告
No Session found for current thread
错误。
9.Spring4+Hibernate4中不再支持HibernaterTemplate,只能使用原生的session接口来操作。
10.如果报告错误:hibernate:Cannot use identity column key generation with <union-subclass> mapping for .....
使用hibernate union-subclass 元素进行继承映射时会抛出此异常:Cannot use identity column key generation with <union-subclass> mapping for.............
原因是使用unnion-subclass 元素时 父类的标识属性生成器不能使用“indentity(native)” 可以选择"hilo”,"increment”等。
11.如果使用Spring+Hibernate,有时Hibernate的配置文件错误不容易发现(至少我没有找到好办法),可以直接使用Hibernate来调试。
12.有时在测试框架(junit)中无法显示Spring配置文件错误,可以在单独的程序单元中进行测试。
13.在需要用异常来控制事务的地方,不要捕获这个异常,或者再次抛出一个异常!
绝对新手,欢迎大侠们对不当的地方指正!
- Spring4+Hibernate4事务小记
- Spring4+Hibernate4事务小记
- spring4+hibernate4事务
- spring4+hibernate4+jotm 分布式事务
- spring4整合hibernate4事务不生效问题
- Spring4+Hibernate4配置注解事务控制
- 分布式事务——Spring4+Hibernate4+atomikos
- Spring4和Hibernate4整合后事务不起作用
- Spring4+Hibernate4
- spring4+hibernate4 configlocation出错
- Struts2+Hibernate4+Spring4整合
- Spring4 MVC Hibernate4集成
- Spring4 MVC Hibernate4集成
- Spring4 MVC Hibernate4集成
- Spring4 MVC Hibernate4集成
- Spring4 + hibernate4 配置
- Spring4+hibernate4+struts2配置文件
- 【转】Spring4+Hibernate4+JBPM6
- 11.6 如果iOS中xib 和viewcontroller 不对应
- 第十一周项目6-回文,素数-1
- 经典插入排序算法分析 未优化的版本 C语言实现
- 枚举类型
- 关于linux启动读取配置文件的情况
- Spring4+Hibernate4事务小记
- Service与线程和进程的关系
- 在类中调用自己类的方法
- 数据库性能优化之段顾问
- HDU 2.1.4 又见GCD
- SG函数
- 约瑟夫问题求解
- win7 x64 若缺少msvcp71.dll,会造成不能上网,但网络连接正常!
- Arcpy基础入门-2、arcpy的批处理功能