问题标签 [struts2-s2hibernate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3902 浏览

java - 依赖注入失败 - 使用完全休眠插件的 struts2 休眠

我正在尝试使用 struts2 完整休眠插件 ( http://code.google.com/p/full-hibernate-plugin-for-struts2 ) 在 struts2 示例中使用休眠。

我已将所有罐子放在我的 lib 文件夹中:

这是我的动作类的代码:

我应该配置了完整的休眠插件来将休眠会话注入到我的动作类中,这个配置在 struts.xml 中:

但是我的操作类在尝试访问 hibernateSession 变量时总是失败,它始终为空。所以依赖注入似乎失败了。

任何想法为什么?请帮忙,非常感谢。还要询问您是否需要查看任何其他配置文件。

0 投票
1 回答
930 浏览

hibernate - 使用 Struts2 休眠 - 使用完整休眠插件或其他方法关闭会话?

我正在使用 Struts 2.2.1.1 和 Hibernate 3.6.2.Final。我还将 C3P0 用于在 Tomcat 7.0.11 上运行的连接池。

我遇到的问题是我的 Hibernate 会话没有被关闭,并且我很快超过了“hibernate.c3p0.max_size”属性中配置的最大打开连接数。

我认为这是因为我的休眠会话已打开但从未关闭。我正在从存储在 ServletContext 中的 SessionFactory 打开 Sessions。我尝试在我的 Action 类的 finally{} 块中关闭会话,但这会引发 org.hibernate.LazyInitializationException 异常。

我做了一些研究,发现了Full Hibernate Plugin方法和Open Session in View方法。

我假设这是一个常见问题,我想了解一下最常用的解决方案。

我注意到的另一件事是 Full Hibernate Plugin 支持 Struts 2.0.9+ 到 2.1.6,但我使用的是 2.2.1.1。不确定这是否会成为问题,或者网站是否尚未更新以列出较新版本。

非常感谢任何输入。

0 投票
1 回答
2241 浏览

java - Struts2 + Full Hibernate Plugin --> 会话已关闭?

与这个问题相关(答案并没有真正切中要害):

使用 Struts2 休眠 - 使用完整休眠插件或其他方法关闭会话?

我有相同的设置:Struts 2.2.3 和 struts2-fullhibernatecore-plugin-2.2.2-GA 。我没有更改 Struts2 和插件的默认值。我使用的是 MySQL,没有额外的连接池,一般来说没有什么特别的。

我在我的操作中使用以下代码:

仅在大约每 10 次左右出现以下异常,这在我的代码中不会发生,但可能在插件提交事务之后发生。

这是我的代码逻辑中的问题还是与插件有关的问题?如果是后者,配置更改是否有帮助?我想按原样使用插件,我只是担心它不能可靠地工作,或者我对数据库东西的理解太原始并且我的代码需要重写;-)。

0 投票
1 回答
2107 浏览

hibernate - Hibernate 和 Struts2 java.lang.NullPointerException w/CRUD 演示

我有一个项目,我同时使用 Hibernate 和 Struts2,而且我对它们都是新手。

我在使用 Hibernate 和 Struts2 组合解决 CRUD 过程时遇到了麻烦。我想以特定方式执行此操作,但遇到了麻烦。为了复制我在主项目之外遇到的问题,我从本教程下载了 WAR 并成功运行: http ://struts.apache.org/2.x/docs/crud-demo-i.html

然后我通过进行以下更改向它介绍了 Hibernate:

1) 首先,我将真实项目中的 JAR 添加到这个项目中,以确保我运行所有相同版本的所有内容。关键是我要起诉 Hibernate 3、Struts2 和 FullHibernateCore 插件来链接它们。有关更多详细信息,这是我正在使用的 JAR:

2)添加hibernate.cfg.xml如下:

3) 更新了 com.aurifa.struts2.tutorial.model.Department 和 com.aurifa.struts2.tutorial.model.Employee 并带有持久性注释。

4)创建com.rwblackburn.struts2.tutorial.dao.InitHibernate,并执行它以创建初始数据库并使用与演示相同的数据填充它:

5) 创建了实现 EmployeeDao 的 com.rwblackburn.struts2.tutorial.dao.EmployeeHibernateDao

6) 创建了实现 DepartmentDao 的 com.rwblackburn.struts2.tutorial.dao.DepartmentHibernateDao

7) 更新了 EmployeeDaoService 和 DepartmentDaoService 以使用新的休眠 DAO,而不是演示中的“NoDB”版本

现在,InitHibernate 运行得很好,所以我知道至少有这么多工作并且数据库本身很好。但是,当我尝试在浏览器中加载项目时,index.action 页面会出现此错误:

当我进行调试跟踪时,我可以确认 DepartmentHibernateDao 中的 Session 和 Transaction 变量实际上为空。

经过大量搜索后,我发现了这个线程: Struts2 + Full Hibernate Plugin --> Session is Closed?

这似乎与我遇到的问题相同。但是,即使我将 Struts 版本降级到 2.1.6,我仍然遇到问题,这是我的新库:

此外,我通过在一些休眠会话调用之前添加“if (session == null)”检查来实现该线程中列出的准修复。例如:

第二个如果我添加以避免“org.hibernate.SessionException:会话已关闭!” 基于上述线程。

这让我通过了“java.lang.NullPointerException”和“org.hibernate.SessionException:会话已关闭!” 有时,但这是不一致的,如果我不断刷新页面,它最终会回来。

这是这个新问题的堆栈跟踪(你可以看到我上面的方法中的一些打印行):

我可能只是在我使用会话的一种方法中错过了上述会话检查。然而,在这一点上,这似乎不可能是答案,我要么做错了什么,要么某处缺少某些东西。

如果他们需要,我可以通过电子邮件向任何人发送此测试应用程序的 WAR 文件(使用 Struts 2.1.6)。任何帮助将不胜感激。

谢谢你

PS:我确实首先在插件支持论坛上发布了这个,但没有得到回应,所以希望 SO 能够帮助我(code.google.com/p/full-hibernate-plugin-for 上的 iseu #36 -struts2/问题)

0 投票
1 回答
1132 浏览

hibernate - 无法使用休眠将对象保存到数据库

我是 sturts2 和休眠框架的新手。我正在制作测试网络应用程序。我有一个模型类“UserDetails”一个DAO 类一个DAO 和动作类的实现。将对象保存到数据库时,出现以下错误:

UserDetails.class

UserDetailsDaoImpl - 实现类

动作类是

当我按下保存按钮时,会发生以下错误

可能有什么问题?提前致谢。

0 投票
2 回答
527 浏览

hibernate - Struts2 与 Hibernate 3 集成失败

我想在 Struts2 中使用 Hibernate。加载 SessionFactory 时发生以下错误。

当我在 psvm 的普通类中获取会话工厂时,没有给出错误,但是当只运行 jsp 页面或 Tomcat 时,会抛出上述错误。

我在网上搜了一下。据说是因为有些库不匹配。。

表示要添加该页面中列出的一些罐子。要找到它们,还提供了一个链接。但是没有找到罐子。
还有另一个页面full-hibernate-plugin-for-struts2但我找不到任何有用的库。它只有war文件(普通类)和一些没有struts或hibernate库的web项目。

我用

  • NetBeansIDE 7.0.1

  • 雄猫 7

请任何人知道如何解决这个问题或任何工作库集?

0 投票
1 回答
1941 浏览

hibernate - struts2-fullhibernatecore-plugin-2.2.2-GA 不工作

我在带有 Hibernate 的演示 strut2 项目中使用 struts2-fullhibernatecore-plugin-2.2.2-GA。我尽力而为,但无法使其发挥作用。我正在使用所有最新的罐子。

我错过了什么吗?

请帮忙

错误日志

我项目中的图书馆

在此处输入图像描述

当我访问页面时出现错误

我的客户DAOImpl.java

**已编辑 *********************

当注入 Session 和 Transaction 时,问题出在上面的代码中。我想知道这可能是 struts2-fullhibernatecore-plugin-2.2.2-GA 不支持的问题

因为插件网站http://code.google.com/p/full-hibernate-plugin-for-struts2/提到只有支持的版本是

这个插件兼容 Hibernate Validator 3.1.0 和 4.0.2(从 2.2 版本开始)

是不是这个问题。有没有人在上面提到的版本中使用过这个插件?

还有一个问题:我们可以在生产环境中使用这个插件吗?

0 投票
1 回答
847 浏览

hibernate - 完整的 Hibernate 插件仅适用于 Hibernate3。无论如何与Hibernate4?

为了学习目的,我一直在为我的 CRUD 演示项目使用struts2-fullhibernatecore-plugin-2.2.2-GA 。以下是我得到的错误,并且不同的休眠依赖项试图使其工作。见下文

错误

我从这个线程的答案中了解到 点击这里

比我开始不同的 maven 依赖来检查使用插件的休眠版本并发现

不适用于以下版本

工作到这个版本

问题:显然不想使用 Hibernate3 那么有没有办法可以将最新的 hibernate4+ 与 struts2-fullhibernatecore-plugin-2.2.2-GA 一起使用?

问题: struts2中hibernate使用最广泛的DI是什么。如果上面的插件不起作用,我应该选择Spring 还是 google juice ?除了viewpattern之外,没有看到任何其他可行的管理休眠会话的解决方案,但是说它的反模式并且有很多缺点。

0 投票
1 回答
508 浏览

hibernate - Struts2 休眠插件

我正在寻找一个与struts2配合良好的hibernate插件,它可以使用hibernate(JPA)查询数据并在jsp中显示它而不会违反诸如hibernate会话关闭之类的情况。

我正在使用最新的 struts2,Hibernate (JPA)。

使用 Hibernate 的 Spring DAO 或 JPA 更好吗?我更喜欢JPA。

将 Full HIbernate Plugin 与最新的 struts2 和 Hibernate 一起使用是否可行?

请帮忙。

谢谢。

0 投票
1 回答
6126 浏览

java - Java Hibernate 连接泄漏

使用 Hibernate 和 Struts2,整个流程如下:

hibernate.cfg.xml作为:

对于 DAO 的扩展AbstractSimpleGenericDao

然后在我的 DAO 类中扩展DAO之上,例如:

然后在我的 struts Action 类中,实例化 DAO 并检索列表:

如果我正在调用此abcAction 类,通过重复单击指定的菜单链接,它会导致连接泄漏,计为打开的连接,我可以使用 jProfiler 看到,并且永远不会关闭。同时,它也在泄漏连接。

使用 jProfiler 的所有打开的泄漏连接的 StackTrace

为什么 Hibernate 会泄露这些连接?

是不是这样,Hibernate 将连接保持在会话中并重用相同的连接,因此,如果我同时发出并发请求,如果会话连接被占用,它会泄漏连接。这只是我假设。我没有任何想法。