<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
说白了就是版本问题,你把版本统一就没有问题了。
|
|
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate4.LocalSessionFactoryBean”>
我用的是hibernate4的sessionFactory啊,麻烦再帮忙看下,谢谢
|
|
我也知道是版本的问题
<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 (?, ?, ?)
|
|
可不可以给我发一份,邮箱766322282@qq.com
|
|
我也很诧异,为什么不提供hibernateTemplate工具类了,麻烦也给我发一份啊,本人感激不尽787595261@qq.com
|
|
我也有这个疑问!
|
|
我 刚刚 碰到 这个问题,,上网看了很多文章 ,,都说 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
|
|
能发一份整合的代码到我的邮箱吗?
418175138@qq.com
万分感谢!
|
|
能发一份注解的代码到我的邮箱吗?
343899743@qq.com
万分感谢!
|
|
不知道现在的Spring还支持这样的用法吗?
|
|
顶一下,看了几遍终于明白了。这个问题卡了我一个星期。
|
|
|
|
发一份整合的代码到我邮箱,1248860846@qq.com 谢谢!
|
|
243520664@qq.com 好人一生平安
|
|
顶一下,看了几遍终于明白了。这个问题卡了我一个星期。
麻烦发我一下,1003669396@qq.com
|
|
本人在 在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
|
|
本人在 在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,万分感谢
|
|
顶一下,看了几遍终于明白了。这个问题卡了我一个星期。
麻烦发我一下,1003669396@qq.com
我上传的资源就是这东西,你把它下载下来,然后按照我的第一篇博客文章取出来就行了。因为这是好久以前做的,我现在计算机也换了。无法直接简单地发给你一个包目录。抱歉。
|
|
spring4中有,这是为什么
|
|
本人在 在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,谢谢。
|