现在项目中基本全是action调用crud服务,也没建模什么的.
不知道大家是怎么设计的.感觉crud的模式改起来比较麻烦,请高手指教.

解决方案 »

  1.   

    嫌麻烦,用spring+hibernate,一个反射一个orm。
      

  2.   

    可以采用spring+ibatis,单表的crud可以不写任何代码
    复杂的可以采用组建的方式
      

  3.   

    现在项目中就是用spring+hibernat.
    一张表对应一个vo,服务就是这个vo的crud.
    上层服务包含业务逻辑.
    但是总感觉这样的设计不是很理想.
      

  4.   

    你可以写一个通用的父类action,里面包含crud,然后在excute里面用
    MethodUtils.invokeExactMethod(actionobj,
                    action,
                    actParam, paramType);
    actionobj:对象;
    action:执行方法名称
    actParam:参数
    paramType参数类型
    执行其不同的方法。
    然后在crud里面读取不同的hql语句执行,如果使用hibernate可能有点麻烦,你可以借鉴ibatis的动态sql的形式即,放执行的sql配置在sqlmap中,通过共有的开放接口insert("sql节点名称",参数对象),update,delet等。sqlmap中配置
    <insert id="sql节点名称" paramterClass="参数对象">
    你执行的sql。
    </insert>
    这样的设计就避免了针对每个业务都写action,直接一个action就可以完成所以的任务,对于hibernate也可以这样,把你的hql都写在一些*。properties中,然后读取properties中的节点,获得hql
    ,传递参数给session.save,或者executeupdate等。