日期:2014-05-20  浏览次数:20783 次

和service相关的一个疑惑
用的是hibernate,整个框架是ssh的,一个工程,在service包里 一个service只能对一个表进行增删改操作却可以对任意表进行查操作
Java code

public interface SubjectTypeManageServiceI extends GenericServiceI<SubjectType>



我现在改成
Java code

public interface SubjectTypeManageServiceI extends GenericServiceI



他会报事务错误
如果在上面的那种写法中更改其他的po对应的表也会报错。

总而言之,如果我要对一个表进行增删改操作,只能为他单独建一个service类
现在我想把他们的增删改查操作放到一个类中(因为代码加起来可能只有二百行,放到三四个类中...不舒服)

有没有给指点的

①能否把对不同表的操作放到一个类中
②为什么要分开做?(⊙o⊙)…

回答皆有分~

------解决方案--------------------
对表的操作应该是放到DAO层的,每个DAO只操作一个表,而service是处理业务逻辑的,可以调用多个DAO,按照你的说法,貌似你的是用service访问的数据库,这是不对的。
------解决方案--------------------
首先,你要实现同时操作多张表,一个service是解决不了的。你使用的是SSH架构,可以在一个Action类中同时操作多个Service以达到操作多张表。记得在application中配置。
------解决方案--------------------
一般来说ssh框架的话、是一个service对应一个dao;当然有特殊业务的时候一个service有可能会调用其他的dao;这样的话 就需要在spring文件中去添加声明了;至于操作数据库表的操作 就像LS说的 应该在dao里面操作才合适、