String sql="from VSMS_MessageSent v where v.mobile='13532323232'"; 这样肯定只有一条了试试看
String sql="from VSMS_MessageSent v where v.mobile like '135*'"; 

解决方案 »

  1.   

    String sql="from VSMS_MessageSent v where v.mobile like '135%'"; 
      

  2.   

    historyList.size()=10但是都是查询的是第一条的记录。
    那你确定放入这个historyList里的不是同一条记录?
      

  3.   

    你创建视图的时候用distinct试试看
      

  4.   


    用这位兄弟说的方法。比如:String sql="from VSMS_MessageSent v where v.mobileNumber like '139%'";
    这句SQL:
    查出数据不都是第一条。可是出现了一个奇怪的事情比如
    SC 苏宁成都西大街店 周世金 13980807940 正品机销售模板,以此为准LS:925028092/1/2340;913513026/-10/2424 20080526140524 20080526140524                   1 WR 2800 Sichuan
    这是我用SQL查询的记录。明明只有一条
    可是用Hibernate查询出来,却有三条。
    而且很多都是这样重复有两到三条
      

  5.   


    这点肯定是可以确定的
    没有重复
    我是在客户生产环境上做修改
    每次在HQL时。我都会先用SQL查询一下确认记录的准备性
      

  6.   

    CREATE VIEW dbo.VSMS_MessageSent
    AS
    SELECT TOP 100 PERCENT DWRDB.dbo.vsms_promoterMobile.BranchID, 
          DWRDB.dbo.vsms_promoterMobile.OutletName, 
          DWRDB.dbo.vsms_promoterMobile.PromoterName, 
          DWSMP.dbo.History.mobileNumber, DWSMP.dbo.History.content, 
          DWSMP.dbo.History.TaskTime, DWSMP.dbo.History.sendTime, 
          DWSMP.dbo.History.status, DWRDB.dbo.vsms_promoterMobile.RegionID, 
          DWRDB.dbo.vsms_promoterMobile.ProvinceID, 
          DWRDB.dbo.vsms_promoterMobile.ProvinceName
    FROM DWRDB.dbo.vsms_promoterMobile LEFT OUTER JOIN
          DWSMP.dbo.History ON 
          DWRDB.dbo.vsms_promoterMobile.Mobile = DWSMP.dbo.History.mobileNumber
    ORDER BY DWSMP.dbo.History.content DESC上面是建立该视图的语句
      

  7.   

    你直接用sql查呢,也是10条一样的数据吗?
      

  8.   

    没有遇到过这种问题,可以分析一下,首先把hibernate的sql语句打印出来执行一下,看看结果,然后在具体分析原因吧
      

  9.   

    楼主的做法应该没有错,很奇怪。你这样改下试试:
    String sql="from VSMS_MessageSent v where v.mobile=?";   
    Query query = session.createQuery();
    query.setString(0, "13532323232");
    setFirstResult(pageturn - 1);
    query.setMaxResults(offset);
    List historyList = query.list();
      

  10.   

    呵呵,应该是
    Query query = session.createQuery(sql); 
      

  11.   

    吃饭去了楼上说的方法我已经用DC试过所以。确定不是SQL语句的问题。估计问题出在XML配置上了
      

  12.   

    謝謝四樓的朋友了:)雖然不是你說的這種情況.但是讓我提到了疑點.解決了問題問題主要是XML配置的問題.因爲映射的是視圖.所以本人在配置主鍵時,配置了可能會重複的字段.但是因爲主鍵.所以.這些信息就會重複.
    我幫它改成配置不重複的字段就OK了