1,分开查。
2,报表查询 就是 select new Table(t1.a,t2.b ...)  from ...... 
的形式。

解决方案 »

  1.   

    List l = session.createCriteria("com.clairnet.hibernate.orm.Video")
    .add(Property.forName("status").eq(new Integer(0)))  //条件
    .addOrder(Order.asc("id"))                           //排序
    .createAlias("user", "u")                         //关联表 
    .list();
    我的简单例子
      

  2.   

    谢谢你!能不能帮我说清楚一点呀!我刚接触hibernate的
    还是用
    Query query=session.createSQLQuery(queryStringSql).addEntity("c",tablename.class); 
    List result1=query.list(); 
    这个查吗?那
    .addEntity("c",tablename.class);
     这里后面参数怎么填呀! 
      

  3.   

    不过好像你用的不是这个形式。查多表的实体。那么结果集自然不是一个表的对象了。要自己定义一个pojo了。就是自己去定义一个set,get的UserInfo。而不能直接用hibernate自己生成的pojo
      

  4.   

    public class UserInfo{
        //所返回的具体对象属性
        private Integer userId;
        private Integer year;
        private Integer month;
        private Integer day;
        private Integer point;
        ...
         set
        ...
        get
    }Query query=session.createSQLQuery(queryStringSql).addEntity(UserInfo.class);
      

  5.   

    我把代码贴出来吧
    这是要执行的sql
    final String queryStringSql1="select d.MIS_MENU_ID,f.*" +
    "from T_MIS_USER_GROUP a, T_MIS_GROUP_DESCRIPT b, T_MIS_GRP_PERMISSION c, " +
    "T_MIS_MENU d, T_MIS_MENU_REPORT e,T_MIS_BO_REPORT_DESC f " +
    "where a.MIS_GROUP_ID=b.MIS_GROUP_ID and b.MIS_GROUP_ID=c.MIS_GROUP_ID " +
    "and c.MIS_MENU_ID=d.MIS_MENU_ID and d.MIS_MENU_ID=e.MIS_MENU_ID " +
    "and e.BO_REPORT_ID=f.BO_REPORT_ID and d.MENU_PARENTID="+misMenuPid+" and  a.MIS_USER_ID='"+misUserId+"'";//我在这里要怎么写?
    Session session=getSession();

    Query query=session.createSQLQuery(queryStringSql).addEntity("d", TMisMenu.class);

    if(query!=null){
    return query.list();
    }
      

  6.   

    嗯!非常感谢
    我的理解是hibernate 封装了jdbc的操作本应该更简单一些才对呀!
    这样实现好麻烦啊!
    郁闷!!!
      

  7.   

    hibernate是封装了,只不过你不会罢了。你是在学习阶段的话,推荐你去学习下我开始的例子 createCriteria的用法。那么就不需要写HQL那么麻烦了。而且在表连接最好用inner 那样简单很多
      

  8.   

    你建立了一个表后可以通过表生成一个对应的pojo 同时还帮你映射好了。。只要你去写查询了..
      

  9.   

    你感觉生成的UserInfo很复杂?你可以直接copy hibernate的pojo的前面那些 定义的 就是我列出来的  int string 再调用Ec自动生成set() get()方法。一个Info不需要几秒就出来了
      

  10.   

    List cats = sess.createSQLQuery("select {cat.*} from cats cat")
            .addEntity("cat", Cat.class);
            .setMaxResults(50);
            .list();
      

  11.   

    尽管是查多表但是返回的最好是一个对象,如果是我的话我会把sql尽量做成视图映射成pojo,把你从多个pojo里面摘取的东西抽想成一个对象,简化你现在的情况。
      

  12.   

    慢慢来吧 做多了就知道有个这样的pojo比你想的还要简单 只是写的复杂,但是工具会生成。。相信你会喜欢的。
    而且封装好的东西改起来比较方便