Code Bye

spring3.1+hibernate4.0的问题

 

<bean id=”hibernateTemplate” class=”org.springframework.orm.hibernate3.HibernateTemplate”>
<property name=”sessionFactory” ref=”sessionFactory”/>
</bean>
是这样配的,可是我其他用的都是hibernate4
<!– Hibernate 数据源的事务管理 –>
<bean id=”transactionManager” class=”org.springframework.orm.hibernate4.HibernateTransactionManager”>
<property name=”sessionFactory” ref=”sessionFactory” />
</bean>
启动不报错,运行的时候会报错

java.lang.ClassCastException: org.springframework.orm.hibernate4.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHolder
org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:287)
org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:233)
org.springframework.orm.hibernate3.HibernateTemplate.getSession(HibernateTemplate.java:457)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:393)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:683)
说4的不能转化成3的,但问题是org.springframework.orm.hibernate4里面没有HibernateTemplate这个工具类,但我还想用HibernateTemplate这个工具类怎么配,或者spring3.1有新的工具类可用?但看spring3.1文档也没说明这个啊,求解答,谢谢


100分
楼主的sessionFactory是用的
org.springframework.orm.hibernate3.LocalSessionFactoryBean吧,
建议换成和org.springframework.orm.hibernate4.HibernateTransactionManager想对应的类
java.lang.ClassCastException: org.springframework.orm.hibernate4.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHolder

这个还不好解决吗?

 org.springframework.orm.hibernate4.SessionHolder  这个类,不能转成:org.springframework.orm.hibernate3.SessionHolder

为什么列? 楼主请看好版本,一个hibernate3 一个是4

<bean id=”transactionManager” class=”org.springframework.orm.hibernate4.HibernateTransactionManager”>你的事务又是用的4。0的
但是你的session又是用的3.0  

说白了就是版本问题,你把版本统一就没有问题了。

引用 1 楼 liuhui168168 的回复:

楼主的sessionFactory是用的
org.springframework.orm.hibernate3.LocalSessionFactoryBean吧,
建议换成和org.springframework.orm.hibernate4.HibernateTransactionManager想对应的类

<bean id=”sessionFactory” class=”org.springframework.orm.hibernate4.LocalSessionFactoryBean”>
我用的是hibernate4的sessionFactory啊,麻烦再帮忙看下,谢谢

引用 4 楼  的回复:

java.lang.ClassCastException: org.springframework.orm.hibernate4.SessionHolder cannot be cast to org.springframework.orm.hibernate3.SessionHolder

这个还不好解决吗?

 org.springframework.orm.hibernate4.S……

我也知道是版本的问题
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate4.LocalSessionFactoryBean”>
我用的是hibernate4的sessionFactory啊,麻烦再帮忙看下,谢谢,我唯一用hibernate3的地方就是
<bean id=”hibernateTemplate” class=”org.springframework.orm.hibernate3.HibernateTemplate”>
<property name=”sessionFactory” ref=”sessionFactory”/>
</bean>问题就是我现在找不到spring3.1的jar包里的hibernate4.HibernateTemplate这个帮助类,我又想用这个帮助类,就想问下spring3.1里有这个类的替带类吗还是怎么的

貌似找到原因了,https://jira.springsource.org/browse/SPR-8096
英文不大好,大概意思就是spring3.1不提供HibernateTemplate这个帮助类了,
认为原始的hibernateDAO比较好?我也照着弄了下原生的Session sess = sessionFactory.openSession();
        Transaction tx = sess.beginTransaction();方法就行了。
不知道为什么取消这个帮助类,感觉用这个HibernateTemplate类很方便啊,求解释
lz,我现在也在学spring3+hibernate4.可以发一下jar包图片和配置文件吗?
各位大哥.在hibernate4里已经舍弃了HibernateTemplate,因为在hibernate4里的事务已经完全可以实现事务了.
我有一个已经可以实现功能的Spring3.1+hibernate4.0的项目.如有需要的朋友可以加我QQ:120987555我可以发给大家一起研讨….
    hibernate4里已经舍弃了HibernateTemplate,我就用这样就可以了:
    代码:
   public class UserDAOIMP  implements UserDAO {
private SessionFactory sessionFactory;

public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

public boolean insertUser(Users user) {
try {
System.out.println(“insert …”);
this.sessionFactory.getCurrentSession().persist(user);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}

}

配置文件中:
<bean name=”userDAOIMP”  class=”dao.imp.UserDAOIMP”  scope=”prototype”>
             <property name=”sessionFactory” ref=”sessionFactory”></property>
</bean> 
最后成功:
进入Action了….
insert …
Hibernate: insert into Users (username, password, id) values (?, ?, ?)

引用 9 楼  的回复:

各位大哥.在hibernate4里已经舍弃了HibernateTemplate,因为在hibernate4里的事务已经完全可以实现事务了.
我有一个已经可以实现功能的Spring3.1+hibernate4.0的项目.如有需要的朋友可以加我QQ:120987555我可以发给大家一起研讨….

可不可以给我发一份,邮箱766322282@qq.com

引用 9 楼  的回复:

各位大哥.在hibernate4里已经舍弃了HibernateTemplate,因为在hibernate4里的事务已经完全可以实现事务了.
我有一个已经可以实现功能的Spring3.1+hibernate4.0的项目.如有需要的朋友可以加我QQ:120987555我可以发给大家一起研讨….

我也很诧异,为什么不提供hibernateTemplate工具类了,麻烦也给我发一份啊,本人感激不尽787595261@qq.com

引用 9 楼  的回复:

各位大哥.在hibernate4里已经舍弃了HibernateTemplate,因为在hibernate4里的事务已经完全可以实现事务了.
我有一个已经可以实现功能的Spring3.1+hibernate4.0的项目.如有需要的朋友可以加我QQ:120987555我可以发给大家一起研讨….

 
我也有这个疑问!

我   刚刚 碰到 这个问题,,上网看了很多文章 ,,都说  hibernate4.0以上版本的session自己已经封装了 事物的处理,而spring的 hibernateTemplate的事物就和hibernate4的 事物冲突了,然后spring3.1以上的版本索性把hibernateTemplate去掉了,现在 智能用getcurrensession
本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常快,也可以注入sessionfactory都可以。
public class TestJunit {
@Autowired
TeacherManager teacherManager;
@Test
public void saveTeacher(){
Teacher teacher=new Teacher();
teacher.setName(“junitName”);
teacher.setTitle(“junitTitle”);
teacherManager.save(teacher);
}
}

可以说是是现在最新的技术
如有人想使用 请联系 QQ:337418621   Tel:18610995595

引用 15 楼  的回复:

本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常……

能发一份整合的代码到我的邮箱吗?
418175138@qq.com
万分感谢!

引用 15 楼 yyangkuble 的回复:

本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常快……

能发一份注解的代码到我的邮箱吗?
343899743@qq.com
万分感谢!

引用 7 楼 yyy269954107 的回复:

貌似找到原因了,https://jira.springsource.org/browse/SPR-8096
英文不大好,大概意思就是spring3.1不提供HibernateTemplate这个帮助类了,
认为原始的hibernateDAO比较好?我也照着弄了下原生的Session sess = sessionFactory.openSession();
        Transaction tx = sess.beginTransaction();方法就行了。
不知道为什么取消这个帮助类,感觉用这个HibernateTemplate类很方便啊,求解释

不知道现在的Spring还支持这样的用法吗?

顶一下,看了几遍终于明白了。这个问题卡了我一个星期。
Quote: 引用 15 楼 yyangkuble 的回复:

本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常快,也可以注入sessionfactory都可以。
public class TestJunit {
@Autowired
TeacherManager teacherManager;
@Test
public void saveTeacher(){
Teacher teacher=new Teacher();
teacher.setName(“junitName”);
teacher.setTitle(“junitTitle”);
teacherManager.save(teacher);
}
}

可以说是是现在最新的技术
我的qq:359474636,麻烦给我发一份,谢谢,邮箱也可以

发一份整合的代码到我邮箱,1248860846@qq.com   谢谢!
引用 17 楼 rctianqi 的回复:
Quote: 引用 15 楼 yyangkuble 的回复:

本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常快……

能发一份注解的代码到我的邮箱吗?
343899743@qq.com
万分感谢!

243520664@qq.com   好人一生平安

引用 19 楼 textfire 的回复:

顶一下,看了几遍终于明白了。这个问题卡了我一个星期。

麻烦发我一下,1003669396@qq.com

引用 15 楼 yyangkuble 的回复:

本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常快,也可以注入sessionfactory都可以。
public class TestJunit {
@Autowired
TeacherManager teacherManager;
@Test
public void saveTeacher(){
Teacher teacher=new Teacher();
teacher.setName(“junitName”);
teacher.setTitle(“junitTitle”);
teacherManager.save(teacher);
}
}

可以说是是现在最新的技术
如有人想使用 请联系 QQ:337418621   Tel:18610995595

麻烦发一份到我邮箱吧,281139219@qq.com

引用 15 楼 yyangkuble 的回复:

本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常快,也可以注入sessionfactory都可以。
public class TestJunit {
@Autowired
TeacherManager teacherManager;
@Test
public void saveTeacher(){
Teacher teacher=new Teacher();
teacher.setName(“junitName”);
teacher.setTitle(“junitTitle”);
teacherManager.save(teacher);
}
}

可以说是是现在最新的技术
如有人想使用 请联系 QQ:337418621   Tel:18610995595

看到请发我caolbmail@gmail.com,万分感谢

引用 23 楼 lovemyrice 的回复:
Quote: 引用 19 楼 textfire 的回复:

顶一下,看了几遍终于明白了。这个问题卡了我一个星期。

麻烦发我一下,1003669396@qq.com

我上传的资源就是这东西,你把它下载下来,然后按照我的第一篇博客文章取出来就行了。因为这是好久以前做的,我现在计算机也换了。无法直接简单地发给你一个包目录。抱歉。

spring4中有,这是为什么
引用 15 楼 yyangkuble 的回复:

本人在 在10天的努力下终于将 spring3.2 hibernate4.1.6 struts2.3.4 集合完毕,而且使用JUnit4.11 测试成功,使用tomcat测试成功,使用weblogic测试成功
hibernate 和 spring全使用的注解 
JUnit4.11测试类非常简洁,非常方便,两个注解就ok了
例如  以下代码就可以测试,这样在实际工作中  对方法的测试就会非常快,也可以注入sessionfactory都可以。
public class TestJunit {
@Autowired
TeacherManager teacherManager;
@Test
public void saveTeacher(){
Teacher teacher=new Teacher();
teacher.setName(“junitName”);
teacher.setTitle(“junitTitle”);
teacherManager.save(teacher);
}
}

可以说是是现在最新的技术
如有人想使用 请联系 QQ:337418621   Tel:18610995595

求发一份到邮箱799075770@qq.com,谢谢。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明spring3.1+hibernate4.0的问题