首页 新闻 赞助 找找看

SSH中调用的Action无法向数据库中插入数据而直接调用业务层方法可以插入数据

0
悬赏园豆:20 [待解决问题]

   项目采用的是Struts2+Spring+Hibernate 搭建的,现在遇到了一个问题,在一个需要向数据库中插入一实体信息的功能中,在页面输入输入实体的信息,提交后在Action中调用业务层的方法,然后业务层再调用Dao层方法向数据库中插入数据,现在是执行完后数据库中没有插入信息,也没有报错。而在测试类中通过如下方法

ApplicationContext ctx = new ClassPathXmlApplicationContext(
        "spring/applicationContext*.xml");
IServiceMgrBiz serviceMgrBiz = (IServiceMgrBiz)ctx.getBean("serviceMgrBiz");
Service service = new Service();
service.setServiceName("基础数据");
service.setServiceDescription("基础数据");
serviceMgrBiz.serviceRegister(service);

这样直接调用却可以插入今数据库,请问这是什么原因呢?

lifeiniao的主页 lifeiniao | 初学一级 | 园豆:182
提问于:2012-08-14 20:05
< >
分享
所有回答(1)
-1

如果在Action能获取到IServiceMgrBiz的实例,插入信息不成功有可能就是事务的问题。

业务层IServiceMgrBiz需要让Spring管理。

业务层IServiceMgrBiz的serviceRegister()方法需要Spring提供的事务。

CN.programmer.Luxh | 园豆:362 (菜鸟二级) | 2012-08-14 22:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册