2010-08-11 123 views
0

对于一个应用程序,我使用Struts2,hibernate和spring进行注入。任何时候我将一个对象保存到数据库中,我都必须在Serivces类(在此注入的会话)内部执行。在任何操作类中,如果我获取当前会话并保存它,它不会将该对象保存到数据库。虽然,我确实看到在日志中插入.....这是为什么?休眠保存对象

回答

0

我假设你没有进行事务处理。在事务提交之前,您不会在数据库中看到记录。

我猜Spring在您的服务类中自动管理事务。但是,如果直接使用会话,则还需要在代码中启动/提交事务。

详情请参阅http://docs.jboss.org/hibernate/stable/core/reference/en/html/transactions.html

+0

你知道吗,现在我想想...服务类被注解@Transactional,这是否意味着,对于内幕交易的任何代码将被处理,但如果我到外边打去该类...我必须手动提交事务? – Nish 2010-08-11 18:10:15

+0

我明白了......谢谢! – Nish 2010-08-11 18:15:45