spring 联合hibernate不能保存数据?

08-06-12 e00tang

spring 联合hibernate不能保存数据???????????? 程序没报错
我用的数据库是mysql5.0; 高手们,帮我指点一下啊,谢谢了啊
这是我的测试代码:
package springdao;

import org.hibernate.Transaction;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Springdaotest {

/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext ctx=
new ClassPathXmlApplicationContext("applicationContext.xml");
BbsuserDAO dao=(BbsuserDAO)ctx.getBean("BbsuserDAO");
Bbsuser user=new Bbsuser();
user.setUsername("lmbmb");
user.setPassword("12323");
System.out.println(user.getUsername());



dao.save(user);
System.out.println(user.getPassword());

}

}

这是Bbsuser.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="springdao.Bbsuser" table="bbsuser" catalog="test">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="increment" />
</id>
<property name="username" type="java.lang.String">
<column name="username" length="10" />
</property>
<property name="password" type="java.lang.String">
<column name="password" length="10" />
</property>
<property name="age" type="java.lang.String">
<column name="age" length="10" />
</property>
</class>
</hibernate-mapping>

这是applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>

<bean id="man" name="man_test" class="springtest.Man">
<property name="message">
<value>你好!!aaaa</value>
</property>
</bean>
<bean id="BbsuserDAO" class="springdao.BbsuserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>


</beans>


这是BbsuserDAO.java
package springdao;


public class BbsuserDAO extends HibernateDaoSupport {
private static final Log log = LogFactory.getLog(BbsuserDAO.class);
// property constants
public static final String USERNAME = "username";
public static final String PASSWORD = "password";
public static final String AGE = "age";

protected void initDao() {
// do nothing
}

public void save(Bbsuser transientInstance) {
log.debug("saving Bbsuser instance");
try {

getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}

public void delete(Bbsuser persistentInstance) {
log.debug("deleting Bbsuser instance");
try {
getHibernateTemplate().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}


public static BbsuserDAO getFromApplicationContext(ApplicationContext ctx) {
return (BbsuserDAO) ctx.getBean("BbsuserDAO");
}
}


高手们,帮我指点一下啊!!!!!!!!!

banq
2008-06-13 17:36

这是一个老问题,需要配置Spring的事务才能用Hibernate