hibernate的版本2支持原生sql不?看了hibernate的帮助文档,还是找不出可以支持原生sql的方法。由于维护旧的系统,需要用到。谢谢。

解决方案 »

  1.   

    hibernate是支持的
    http://doc.javanb.com/hibernate-reference-2-1-8-ga-zh/querysql.html
    这里有用原生SQL的例子
      

  2.   

    http://feicer.iteye.com/blog/549814说的很详细了,一看便知~!!!
      

  3.   

    支持的 你可以通过对于返回集合
    this.getHibernateTemplate().executeFind(
    new HibernateCallback() { public Object doInHibernate(Session session)
    throws HibernateException, SQLException {
    List<Long> list = session.createSQLQuery(sql).
    list();
    return list;
    } });
    对于返回不是集合
    this.getHibernateTemplate().execute(
    new HibernateCallback() { public Object doInHibernate(Session session)
    throws HibernateException, SQLException {
    session.createSQLQuery(sql).executeUpdate()
    return null;
    } });
      

  4.   

    hibernate hql查询。
    Query query = session.createQuery("hql语句放到这里"); 
      

  5.   

    上面的都不太对,Session.createSQLQuery(),2.0就没有这个方法的。搞了半天,翻下以前的帖子,才弄明白:hibernate2.0写原生sql的方法用session.getConnection(),返回一个jdbc的connection,然后像操作jdbc一样操作。问题解决。很感谢上面的大哥大姐热心帮助。
      

  6.   

    Query query= session.createSQLQuery(sql).executeUpdate();List list=query.list().addentity();
      

  7.   

    hibernate 2.0 是支持的 
    如下:net.sf.hibernate.Session
        public Query createSQLQuery(String sql, String returnAlias, Class returnClass);
        public Query createSQLQuery(String sql, String[] returnAliases, Class[] returnClasses);第一个参数是select 语句  第二个 对查询到的数据付别名  第三个参数 ,是返回的数据的类型一个论坛上 有讲 hibernate2.0  到 hibernate3.0的区别