【发布时间】:2011-08-03 21:50:17
【问题描述】:
我是 Spring 和 Hibernate 新手。 我创建了实体 User 和 DAO - UserHibernateDao。 我想用 public static void main 测试 hibernate 如何在简单的 java 类中工作:
public class Starter {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("/org/jtalks/jcommune/model/entity/applicationContext-dao.xml");
Dao<User> uhd = (Dao) context.getBean("userDao");
User user = new User();
user.setNickName("UserName");
uhd.saveOrUpdate(user);
}
}
但我得到了错误
INFO:为 HibernateTransactionManager 使用 Hibernate SessionFactory 的 DataSource [org.springframework.jdbc.datasource.DriverManagerDataSource@17b4703] 线程“主” org.springframework.orm.hibernate3.HibernateSystemException 中的异常:没有 Hibernate Session 绑定到线程,并且配置不允许在此处创建非事务性会话;嵌套异常是 org.hibernate.HibernateException: No Hibernate Session bound to thread,并且配置不允许在这里创建非事务性的 在 org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679)
我知道我需要创建会话和事务之类的东西,但我不知道我应该怎么做。
my config User.java UserHibernateDao.java Full Project
谢谢
【问题讨论】: