刚学Spring,碰到一个问题,看网上帖子说已经废弃HibernateTemplate了,但是没找到相关的配置,经实验确实用hibernate3.6.10可以运行的程序改到hibernate4.1的时候会出错,想问下该怎么使用?
写了一个简单的小程序,想问下具体该怎么改动呢?下面是Spring配置
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"在使用hibernate4.1的时候这里的hibernate3我是改成hibernate4的<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/spring_test" />
<property name="username" value="root" />
<property name="password" value="1234" />
</bean> <bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="mappingResources">
<list>
<value>com/xlinspace/www/entity/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=true
hibernate.hbm2ddl.auto=update
javax.persistence.validation.mode=none
</value>
</property>
</bean>
<bean id="userDao" class="com.xlinspace.www.dao.UserDao">
<property name="sessionFactory" ref="mySessionFactory"></property>
</bean>
下面简单的DAO代码public class UserDao { private HibernateTemplate ht = null;
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
private HibernateTemplate getHibernateTemplate(){
if(ht==null){
ht = new HibernateTemplate(getSessionFactory());
}
return ht;
}
public Integer save(User user){
return (Integer)getHibernateTemplate().save(user);
// Session session = getSessionFactory().getCurrentSession(); 实验不能这么取
// session.beginTransaction();
// session.save(user);
// session.getTransaction().commit();
}
}下面是简单的存个数据public class UseUser { public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = new User();
user.setAge(10);
user.setName("Lucky");
UserDao userDao = (UserDao)ctx.getBean("userDao");
userDao.save(user);
}
}
写了一个简单的小程序,想问下具体该怎么改动呢?下面是Spring配置
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"在使用hibernate4.1的时候这里的hibernate3我是改成hibernate4的<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/spring_test" />
<property name="username" value="root" />
<property name="password" value="1234" />
</bean> <bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="mappingResources">
<list>
<value>com/xlinspace/www/entity/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql=true
hibernate.hbm2ddl.auto=update
javax.persistence.validation.mode=none
</value>
</property>
</bean>
<bean id="userDao" class="com.xlinspace.www.dao.UserDao">
<property name="sessionFactory" ref="mySessionFactory"></property>
</bean>
下面简单的DAO代码public class UserDao { private HibernateTemplate ht = null;
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
private HibernateTemplate getHibernateTemplate(){
if(ht==null){
ht = new HibernateTemplate(getSessionFactory());
}
return ht;
}
public Integer save(User user){
return (Integer)getHibernateTemplate().save(user);
// Session session = getSessionFactory().getCurrentSession(); 实验不能这么取
// session.beginTransaction();
// session.save(user);
// session.getTransaction().commit();
}
}下面是简单的存个数据public class UseUser { public static void main(String[] args){
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = new User();
user.setAge(10);
user.setName("Lucky");
UserDao userDao = (UserDao)ctx.getBean("userDao");
userDao.save(user);
}
}
解决方案 »
- 使用Spring测试框架TestContext的问题:java.lang.NoClassDefFoundError: org/junit/Assum$Assum
- structs 问题
- hibernate Save问题.
- 请问中文的网站放到国外的服务器上,是否会出现乱码?如果出现怎么处理呢?
- 请教各位高手: linux下apache整合weblogic的问题
- 关于websphere 热部署 急啊~!
- 散分了,大家都来看看哦...........
- --- 断点续传问题 ---
- mysql出现乱码怎么解决
- 工作四年了,现在有点迷茫。求指定一下!
- 一道题!
- tomcat Address already in use: JVM_Bind<null>:8080
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>flushMode</param-name>
<param-value>AUTO</param-value>
</init-param>
</filter>