我的 Hibernate.xml
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
我的控制器
@RequestMapping("/")
public String index() {
Category category = new Category();
category.setName("Hello");
categoryDao.saveCategory(category);
return "index";
}
我的 DAO
@Transactional
public void saveCategory(Category category) {
Session session = sessionFactory.getCurrentSession();
session.save(category);
Category category2 = (Category) session.get(Category.class,
new Integer(0));
System.out.println("xxxx" + category2.getName());
}
出于测试目的,我目前跳过了我的 BO。否则我会去某个地方吗?我的输出应该是 xxxxParent,它是 id = 0 处的类别名称,但它显示的是从 Controller 传递的 xxxxHello。否则插入工作正常。尝试通过 Hibernate 访问数据库的方式也有任何错误。我的意思是使用事务注释或打开会话。
编辑
当我删除保存新类别的代码时,会显示正确的输出。在检查控制台之前,只有 insert 可以工作,但现在 select 也可以工作。