




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ssh配置文件解释 com/ouya/User.hbm.xml org.hibernate.dialect.MySQLDialect true true PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly !- 可以看到配置文件的步骤:1、 配置数据源2、 配置会话工厂(依赖注入上面的数据源,还要注入hbm映射文件注意正确的位置、hibernate属性文件)3、 配置事务管理器(依赖注入上面的会话工厂)4、 Spring中声明事务管理器(根据需要又可分为几种,但都要依赖注入上面的事务管理器,此外还需要配置transationAttributes)后面的一些普通的bean配置就不用说了上面的例子中使用的声明事务管理器是:TransactionProxyFactoryBean,这样的话我们就需要在后面配置目标bean,比如上面的例子中我们的原服务对象是id为us的UserService(没有实现接口),所以我们为他配置了id为userService的代理对象(目标bean),程序中使用时只能通过使用代理对象才能实现数据库操作功能(代理对象的父类是上面声明的事务管理器,一边我们使用的时候开启事务),如果直接使用服务对象就无法开启事务程序中调用:UserService us = (UserService) app.getBean(userService);注:userService就是上面配置的代理对象的id,而不是原服务对象的id 但是如果我们想通过原服务对象的id来使用对象,则我们需要使用代理事务管理器BeanNameAutoProxyCreator(根据beanname自动代理),上面的配置文件需要做改动,做两件事(当然先要删除原来配置的TransactionProxyFactoryBean,不然就混乱了,可能会报错的):1、 增加一个事务拦截器 PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly 2、 定义自动代理事务管理器!- us transactionInterceptor 然后我们在程序中调用时应如下:UserService us = (UserService) app.getBean(us);注:注意与上面使用TransactionProxyFactoryBean时的调用区别,此处我们用getbean时直接取原服务层对象的id,不需要去配置目标bea,这也正是BeanNameAutoProxyCreator(根据bean名称自动代理)的含义所在 附录:1、关于hibernate的属性详解: Hibernate 会话厂 SessionFactorySession 就是用于每次与数据库会话的,因此需要:数据库的配置参数,这些参数就是 上面的数据源指定的! 因此我们只需引用即可: ref=dataSource;实体映射配置 hibernate.cfg.xml 配置结果缓存配置(这里使用的是开源的 ehcache) org/springframework/samples/jpetstore/domain/Account.hbm.xmlorg/springframework/samples/jpetstore/domain/Banner.hbm.xmlorg/springframework/samples/jpetstore/domain/Category.hbm.xmlorg/springframework/samples/jpetstore/domain/Inventory.hbm.xmlorg/springframework/samples/jpetstore/domain/Item.hbm.xmlorg/springframework/samples/jpetstore/domain/LineItem.hbm.xmlorg/springframework/samples/jpetstore/domain/Order.hbm.xmlorg/springframework/samples/jpetstore/domain/Product.hbm.xmlorg/springframework/samples/jpetstore/domain/Supplier.hbm.xml$hibernate.dialecttruetruetrue210050updateupdate!-结果缓存配置:- 将ehcache.xml 置于 classpath 中- 如果不设置“查询缓存”,那么hibernate只会缓存使用load()方法获得的单个持久化对象,如果想缓存使用findall()、 list()、Iterator()、createCriteria()、createQuery()等方法获得的数据结果集的话,就需要设置hibernate.cache.use_query_cache true 才行- 在Hbm文件中添加-如果需要“查询缓存”,还需要在使用Query或Criteria()时设置其setCacheable(true);属性-trueorg.hibernate.cache.EhCacheProvider 2、Spring的transactionAttributes PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。PROPAGATION_NOT_SUP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年虚拟现实技术在职业教育课程中的教学设计研究报告001
- 2025年医院电子病历系统在医疗大数据中的应用与优化报告
- 2025年医院电子病历系统优化构建医疗大数据分析平台报告
- 终身学习视角下2025年成人教育体系构建与平台运营的师资培训策略报告
- 2025年医药流通行业供应链优化与成本控制政策研究实践报告
- 2025年医药流通行业供应链优化与成本控制案例分析报告
- 保安证考试题及答案
- 安全员c证试题及答案
- 安全试题及答案和解析
- 零售私域流量运营的线上线下促销活动策划报告
- 中年危机人生规划
- 《风电功率预测功能规范》
- 关于读后续写的可行操作课件-高三英语一轮复习
- 港口企业财务风险分析报告
- 2023年贵州黔西南州专项招聘国企业工作人员21人考前自测高频难、易考点模拟试题(共500题)含答案详解
- 中医护理实训报告总结
- 动画制作与电影特效课件
- 监理抽检表 - 08桥梁工程
- 鼻息肉护理教学查房
- 小区交通安全应急预案
- 2023年第四届全国邮政行业职业技能竞赛-全国总决赛理论知识试题及答案
评论
0/150
提交评论