各位大虾,本人遇到一个关于SQL语句的麻烦,请教各位,先贴出来:
    select t1.* from v_video t1,
 (select top 100 percent  v_id ,count( v_u_id) as ct from  r_u_v group by v_id 
                                      order  by    ct desc) as t2 where t1.v_id=t2.v_id;我做一个关于视频的网站,用的是SSH框架,数据库是SQLSERVER2005的,用上面的这条语句在数据库里执行没有错,现在关键是我怎样将它转成HQL语句,还请各位大虾支招!万分感谢!

解决方案 »

  1.   

    hql貌似不支持这样的查询.使用sql查吧
      

  2.   

    hql这样不行的,用spring的SimpleJdbcTemplate吧
      

  3.   


    select t1.* from v_video t1,
    (select top 100 percent v_id ,count( v_u_id) as ct from r_u_v group by v_id 
      order by ct desc) as t2 where t1.v_id=t2.v_id;在这个语句中,存在两个table,而ORM只能一个table对一个对象,有两种方法:
    1,用关联One-to-manay或别的2,封装两个object后,取出两List对象,再过滤出你需要的东西.
      

  4.   

    直接这样不接行了
    this.getHibernateTemplate().execute(new HibernateCallback() { @Override
    public Object doInHibernate(Session session) throws HibernateException,
    SQLException {

    return session.createSQLQuery("你的sql语句");
    }
    });
      

  5.   

    HQL 肯定可以转换成为 SQL,但是绝大多数的 SQL 是无法转换成为 HQL 的!!!!
      

  6.   

    SSH为啥就一定要执行HQL呢, 
    我们系统里面大部份的是SQL