我写了一条sql语句   然后希望能转化成hibernate的操作直接返回对象  select * from message m where m.id not in (select distinct msg_id from replymsg) limit 0,2;大致意思是这样的  得到数据库中没有被回复的信息  回复信息是放在replymsg这个类中的   信息是在message 中的  是一对多的关系    我要剔除被回复过了的的信息   并且还要指示语句从哪里开始返回多少条数据   
怎么办  本人初学hibernate   很多都不懂    

解决方案 »

  1.   

    哎 其实很简单   hibernate也是支持sql查找的    突然就找到方法了  好吧 谁第一个回我   我就把分给谁
      

  2.   

    Query q = session.createQuery("select * from Message m where m.id not in (select distinct m.replymsg.msg_id from m.replymsg");
    //下面两句 = limit 0,2  
    q.setFirstResult(0);
    q.setMaxResults(2);
    q.list();我也是初学者上面的不一定对 我不知道你类是写成什么样的  上面的写法是我猜的你有个Message类  Message中有Replymsg的引用
    也可以在hibernate中写本地的SQL(也就是 SQL  非 HQL)SQLQuery sq = session.CreateSQLQuery("你写的那条SQL语句");
    SQLQuery sq = session.CreateSQLQuery("select * from message m where m.id not in (select distinct msg_id from replymsg) limit 0,2");sq.executeUpdate();没有功劳也有苦劳    要个分哦
      

  3.   

    SQLQuery query = con.createSQLQuery("select * from testtable");
    List products = query.list();
    先顶一下!