为了学习目的,我一直在为我的 CRUD 演示项目使用struts2-fullhibernatecore-plugin-2.2.2-GA 。以下是我得到的错误,并且不同的休眠依赖项试图使其工作。见下文
错误
java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
com.googlecode.s2hibernate.struts2.plugin.util.HibernateSessionFactory.createAndTestSessionFactory(HibernateSessionFactory.java:284)
com.googlecode.s2hibernate.struts2.plugin.util.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:227)
com.googlecode.s2hibernate.struts2.plugin.util.HibernateSessionFactory.getNewSession(HibernateSessionFactory.java:155)
我从这个线程的答案中了解到 点击这里
比我开始不同的 maven 依赖来检查使用插件的休眠版本并发现
不适用于以下版本
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.6.Final</version>
</dependency>
工作到这个版本
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.10.Final</version>
</dependency>
问题:显然不想使用 Hibernate3 那么有没有办法可以将最新的 hibernate4+ 与 struts2-fullhibernatecore-plugin-2.2.2-GA 一起使用?
问题: struts2中hibernate使用最广泛的DI是什么。如果上面的插件不起作用,我应该选择Spring 还是 google juice ?除了viewpattern之外,没有看到任何其他可行的管理休眠会话的解决方案,但是说它的反模式并且有很多缺点。