此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【wallflower】截止到2008-07-24 17:30:11的历史汇总数据(不包括此帖):
发帖的总数量:20                       发帖的总分数:500                      每贴平均分数:25                       
回帖的总数量:17                       得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:19                       结贴的总分数:480                      
无满意结贴数:7                        无满意结贴分:160                      
未结的帖子数:1                        未结的总分数:20                       
结贴的百分比:95.00 %               结分的百分比:96.00 %                  
无满意结贴率:36.84 %               无满意结分率:33.33 %                  
值得尊敬

解决方案 »

  1.   


    如下:
    DetachedCriteria criteria = DetachedCriteria.forClass(AbstractServiceMessageVO.class);
    criteria.add(Property.forName("requestMessage").like("%" + postData.getRequestMessage() + "%"));
    criteria.add(Property.forName("responseMessage").like("%" + postData.getResponseMessage() + "%"));
      

  2.   

    这么写逻辑就有问题,用离线Criteria写不出来或者写起来很麻烦,生成的语句也不是你想要的,因为由于设计的错误,导致现在是两个字段,你这么join起来,也是两个字段,建议你写两个criterial,得到结果集之后,合并一下或者直接用createSQLQuery直接用union写
      

  3.   

    本来是想利用hibernate对继承的这套支持的,但是这么设计就有问题,没办法了Landor2004所说的两个criterial,好像我得抛弃现在的这种继承体系了 ,重新改写配置文件?
      

  4.   

    应该这样就可以吧 DetachedCriteria criteria1 = DetachedCriteria.forClass(HTTPMessageVO.class); 
    ......
    DetachedCriteria criteria2 = DetachedCriteria.forClass(SOAPMessageVO.class); 
    ......
      

  5.   

    这样啊,我再想想好了。。
    多谢Landor2004,结贴送分