`
kyo19
  • 浏览: 73552 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Hibernate Open-Session-In-View Pattern

    博客分类:
  • java
阅读更多

用hibernate,继续写代码来处理关联关系很繁,考虑用关联映射。

一用就是臭名昭著的 LazyInitializationException,于是参考hibernate的best practice使用Open-Session-In-View方式。

 

http://www.jroller.com/cardsharp/entry/open_session_in_view_pattern

 

这篇文章说得实在:在表现层暴露back-end的处理机制总觉得不妥当,但是用起来这么透明、这么简便,那就用着吧 :-)

 

至于性能,网上讨论很多。从理论上分析,是有影响的。但是,影响到多大程度?在超过什么样的压力阈值之后会出现问题?

 

对于企业内部的应用,不超过10,000个用户,应该不至于成为瓶颈。

 

毕竟,现在的应用软件开发对开发速度、代码的可维护性等方面的要求更为挑战。

 

ps:

 

配置中:

org.springframework.orm.hibernate.support.OpenSessionInViewFilter

                                         ~~~~~~~

需要修改为

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

 

遇到几个配置的地方,都会因为少一个3导致 class not found.

 

 

Configuring Open-Session-In-View

Here's a excerpt from a simple web.xml that loads Spring configuration files from the classpath and activates the Open-Session-in-View for a Tapestry application:

 

<web-app>
  <!-- web-app settings go here -->

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
      classpath:/com/yourcompany/daopackage/applicationContext-hibernate.xml,
      classpath:/com/yourcompany/servicepackage/applicationContext-service.xml
    </param-value>
  </context-param>

  <!-- Spring Open Session In View Pattern filter -->
  <filter>
    <filter-name>hibernateFilter</filter-name>
    <filter-class>
      org.springframework.orm.hibernate.support.OpenSessionInViewFilter
    </filter-class>
  </filter>

  <!-- Spring/Hibernate filter mappings -->
  <filter-mapping>
    <filter-name>hibernateFilter</filter-name>
    <url-pattern>/app/*</url-pattern>
  </filter-mapping>

  <!-- Listeners -->
  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>

  <!-- Servlet mappings & other config -->
</web-app>
 
分享到:
评论

相关推荐

    hibernate jar包:hibernate-commons-annotations-4.0.1.Final.jar等

    hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.1.12.Final.jar hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-4.1.12.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar ...

    Hibernate-nosession

    然而,在某些特定场景下,我们可能并不需要频繁地打开和关闭Session,这时“Hibernate-nosession”就显得尤为重要。本文将深入探讨Hibernate-nosession的概念、应用场景以及如何在实际代码中实现。 首先,理解什么...

    hibernate-configuration-3.0.dtd、hibernate-mapping-3.0.dtd

    《深入理解Hibernate配置与映射:hibernate-configuration-3.0.dtd与hibernate-mapping-3.0.dtd解析》 在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而`hibernate-...

    hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605.zip

    《Eclipse中Hibernate插件深度解析》 在Java开发领域,Hibernate作为一种强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而Eclipse作为主流的Java集成开发环境,其丰富的插件生态使得开发效率得以提升。...

    hibernate-jpa-2.1-api-1.0.0.final-sources.jar

    hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码 hibernate-jpa-2.1-api-1.0.0.final-sources.jar 源码

    hibernate-release-5.2.10

    2. **库文件**:包含jar包,如hibernate-core.jar、hibernate-entitymanager.jar等,这些是我们在项目中引入Hibernate时需要用到的依赖库。 3. **文档**:通常包括用户指南、API文档、开发者文档等,这些文档提供了...

    Spring-session2整合spring5+redis

    描述中的“spring5+hibernate5+Spring-session-data-redis2+Spring-data-redis2整合”进一步扩展了集成环境,引入了Hibernate 5作为ORM(对象关系映射)工具,Spring-session-data-redis和Spring-data-redis2则是...

    hibernate many-to-many级联保存,级联更新,级联删除

    如果修改了Student或Course对象的关联关系,然后调用`session.update(student)`或`session.update(course)`,Hibernate会自动更新关联表中的记录,以反映新的关系状态。 六、级联删除 当调用`session.delete...

    HibernateTools-3.2.4.Beta1-R200810311334.zip

    《HibernateTools 3.2.4 Beta1:高效数据库管理和对象关系映射工具》 HibernateTools是Java开发者的重要辅助工具,它为Hibernate框架提供了一系列实用的集成开发环境(IDE)插件和命令行工具,极大地简化了数据操作...

    hibernate-jpa-2.0-api-1.0.1.Final-sources.jar

    hibernate-jpa-2.0-api-1.0.1.Final-sources.jar hibernate jpa 源代码

    hibernate-jpa-2.0-api-1.0.1.Final.jar

    hibernate-jpa-2.0-api-1.0.1.Final.jar

    hibernate-validator-5.0.0.CR2-dist.zip

    使用hibernate-validator 进行校验的jar包,里面包括了基础hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar 之外,还包括了el-api-2.2.jar javax.el-2.2.4等项目必不可...

    hibernate-core-5.0.11.Final.jar

    本文将重点探讨`hibernate-core-5.0.11.Final.jar`的核心源码,帮助读者深入理解其内部机制,并提供实用的应用指导。 一、Hibernate Core概述 Hibernate Core是Hibernate框架的基础部分,它包含了ORM的核心功能,...

    hibernate-release-5.0.7.Final的所有jar包

    在这个`hibernate-release-5.0.7.Final`版本中,包含了所有相关的jar包,为开发者提供了一个完整的Hibernate ORM解决方案。 在Java开发中,jar(Java Archive)包是Java类库的打包形式,它包含了一系列的类文件和...

    ukui-session-manager:ukui-session-manager

    编译安装cmake cd ukui-session-managermkdir buildcd buildcmake ..makesudo make install破坏cd ukui-session-manageruscan --download-current-version # or you can change the word in debian/source/format ...

    hibernate-mapping-3.0.dtd

    hibernate-mapping-3.0.dtd 配置后,就会在xml中进行提示

    struts2+hibernate3 open session in view

    总的来说,"Struts2+Hibernate3 Open Session in View"项目展示了如何结合这两种技术,实现高效且可靠的Web应用数据持久化。理解并正确使用OSIV模式,可以帮助开发者避免常见的数据库交互问题,提高应用的稳定性和...

    hibernate3.6 对应的 hibernate-validator-4.1.0

    hibernate3.6 对应的 hibernate-validator-4.1.0

    hibernate-release-5.3.2.Final

    《Hibernate ORM 5.3.2.Final:深入解析与应用》 Hibernate ORM,作为Java领域最著名的对象关系映射框架之一,自诞生以来就深受开发者喜爱。2018年7月5日,Hibernate发布了其最新版本——5.3.2.Final,带来了诸多...

    hibernate的核心接口--Session

    ### Hibernate的核心接口——Session详解 #### 一、Session简述 **1. Session概念** - **定义**: Session 是 Hibernate 框架中最常用的接口之一,它又被称为持久化管理器。Session 负责所有与数据库交互的工作,...

Global site tag (gtag.js) - Google Analytics