首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Struts2 Hibernate PLugin

Struts2 Hibernate PLugin
EN

Stack Overflow用户
提问于 2012-10-03 12:39:26
回答 1查看 508关注 0票数 0

我正在寻找一个hibernate插件,可以很好地与struts2一起工作,可以使用hibernate (JPA)查询数据,并在jsp中显示它,而不会出现违反情况,如hibernate会话关闭。

我使用的是最新的struts2,Hibernate。

使用Spring DAO和Hibernate中的JPA哪个更好?我更喜欢JPA。

在最新的struts2和Hibernate中使用完整的HIbernate插件可行吗?

请帮帮忙。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-10-04 05:34:23

为了完成这个任务,你不需要一个完整的hibernate插件。您希望实现Open Session In View模式。基本上,其思想是实现一个servlet过滤器,该过滤器打开一个hibernate会话,将控制传递给过滤器链的其余部分,然后在执行完成后关闭过滤器。以这种方式,您的视图有一个打开的会话可用,但它最终会被关闭。然而,应该指出的是,有些人认为这是一种反模式,因为它确实允许视图代码通过延迟加载等方式触发大量与数据库相关的操作。这绝对是需要牢记在心的事情。

网上有很多例子,通常缩写为OSIV,这里有一个例子是我为一个开源的前雇主写的,它使用的是直接hibernate。我认为它的原始版本是在2007年左右编写的,最近从SVN转移到了GIT:

https://fisheye.5amsolutions.com/browse/5AMCOM/core/src/main/java/com/fiveamsolutions/commons/web/filter/OpenSessionInViewFilter.java?r=78fe9215dcbdea11ed54e7446bf19f779cb13770

他们的开源库的主页如下:

https://www.5amsolutions.com/how-we-do-it/5am-commons

如果你想使用一个完整的JPA解决方案,spring确实在视图过滤器中包含了一个Open Entity Manager:

http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/orm/jpa/support/OpenEntityManagerInViewFilter.html

自从多年没有使用Spring以来,我就没有使用过这个特定的类,但是Spring的东西通常工作得很好。

关于这个主题的最后一个链接是几年前的hibernate文档:https://community.jboss.org/wiki/OpenSessionInView

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12701999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档