在Struts+Hibernate的开发中,我们会遇到这样的问题,在Struts层,我们一般需要做一个ActionForm来保存用户的输入数据,经过Validate和一些业务逻辑后,我们需要把这些数据提交给Hibernate层,通过POJO的形式保存到数据库。问题是:这个ActionForm和POJO通常是描述同一个对象的,连字段和属性有可能都是一样的,
        比如用户的注册信息,包括userid,name,password,sex等信息,我们确要建两个类来
        描述这个User,一个是ActionForm,另一个则是POJO,这样即影响开发效率,又增加了
        程序的维护成本。我们能不能把这两个类统一起来呢???!!!   如果采用DynaActionForm,可以减少一部分工作量,但还是没根本解决问题,我也看了一 些用  Struts+Hibernate做的项目,基本上都是做的两个类,各位大侠,想没想过把它们统一起来呢?怎样才能统一起来呢?

解决方案 »

  1.   

    Hibernate 是什么东西,我不清楚。一个类可以继承Struts ActionForm的同时,能同时实现Hibernate中某个特定类的接口么?
      

  2.   

    楼上说的对,就是要分层如果非要用一个类的话我知道在ibatis中可以将sql直接映射到某个类。hibernate可不可以就不知道了
      

  3.   

    简直搞不懂,你们到底听清楚没?统一这个POJO类,并不会增加耦和性,也不会影响分层的,请仔细想一想吧,再回答!
      

  4.   

    有什么难的吗?
    你建一个vo,在hibernate中可以当着po来使用,同时在struts中你使用DynaActionForm,里面有一个属性就是这个vo,在页面中可以使用,比如user.name,user.pass等。
    应该没什么问题吧,这个我一直这么用的。
    问问题和回答问题不要带着情绪。
      

  5.   

    恩,miaoliujun(傲龙) ,你的这个回答还可以接受,只是DynaActionForm有它的缺点,就是不能获得自己的类型,也就是说不是强类型的,你说呢?
    关于你的"问问题"建议,我接受你的意见,只是看到"答非所问"就不爽,呵呵,性子比较急,呵呵!你也是做Java的哇?如果不介意,留个qq,以后好交流!
      

  6.   

    老生常谈。用你的pojo构建你的DynaActionForm,不就什么都解决了么。
      

  7.   

    自己组装一个vo了,不要被ActionForm束缚了。
    另外:觉得webwork比struts强,
      

  8.   

    嘿嘿,另外做个广告:java群 1438811 
    欢迎大家