Hibernate和Spring的延迟加载和DAO模式.pdfVIP

Hibernate和Spring的延迟加载和DAO模式.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate和Spring的延迟加载和DAO模式.pdf

hibernate延迟加载:Hibernate和Spring的 延迟加载和DAO模式 疯狂代码 http://CrazyC/ ĵ http:/CrazyC/Java/Article53885.html   转载于 :/members/zcgly/Blog/cns!1pQwDnSfBx4siamZpHR2gqMQ!121.entry   Hibernate和延迟加载   Hibernate对象关系映射提供了两种对象化模式:延迟加载和非延迟加载非延迟加载在加载时获取对象本身 以及它关联所有对象这可能导致在获取个例子时执行成百上千select语句当使用双向关联时这个问题被放大常 常出现化请求时整个数据库都被载入显然检查每个对象关系并手工删除他们会费点事但最终我们可能会因此丢 失使用ORM工具优势个明细解决方式是使用hibernate提供延迟载入机制这种化策略在类成员被访问时只载入 它个对象对多和多对多关系对开发人员来说这种方式是透明并且只有最少数量请求发生这样就获得了最佳性能 这种技术个缺点是延迟载入要求当对象还在使用中时HibernateSession必须保持打开状态当尝试通过DAO模式 抽象持久层时这会引起个重要问题为了充分地抽象持久层所有数据库逻辑包括打开、关闭Session都不能在应用 层出现最常见是这些逻辑隐藏在DAO实现类中快速和差些方案是:避免采用DAO模式在应用层中包含数据连接 逻辑这在小应用中是可行但在大系统中这会是个设计缺陷它损害了应用扩展性   在Web层使用延迟加载   幸运是Spring框架已经提供了个DAO模式结合Hibernate延迟加载Web方案对于任何不熟悉Spring框架结 合Hibernate人来说我在这里不会深入细节但是我希望你去阅读“结合Spring框架Hibernate数据库访问”章节 这个案例是个Web应用Spring提供了OpenSessionInViewerFilter和OpenSessionInViewInterceptor使用它 们中任个都能获得同样功能这两者唯区别是erceptor在Spring容器中运行并且在web应用上下文中配置 ;fitler在Spring前运行并且在web.xml中配置不管使用哪个他们都会在请求绑定到Session当前线程期间打开 Hibernate Session旦绑定到线程打开Hibernate Session能被DAO实现类透明地使用Session会持续打开允许 延加载访问数据库旦View逻辑完成hibernate session会被关闭无论是在FilterdoFilter思路方法中还是在 InterceptorpostHandle思路方法中下面是个配置例子   Interceptor配置 beans bean id=urlMapping      =org.springframework.web.servlet.handler.SimpleUrlHandlerMapping       property name=erceptors      list        ref bean=openSessionInViewInterceptor/      /list     /property     property name=mappings ... /bean ... bean name=openSessionInViewInterceptor   =org.springframework.orm.hibernate.support.OpenSessionInViewInterceptor     property name=sessionFactoryref bean=sessionFactory//property /bean /beans   Filter配置 web-app ...    filter   filter-namehibernateFilter/filter-name   filter-    org.springframework.orm.hibernate.support.OpenSessionInViewFilter   /filter-   /filter ...    filter-mapping   filter-namehibernateFilter/filter-name    url-pattern*.sprin

文档评论(0)

docinpfd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档