hibernate当然可以执行sql语句
String Sql_str = "你的sql语句";
Query query = session.createQuery(Sql_str);
List lists = query.list();

解决方案 »

  1.   

    你需要把你的sql语句转换成HSQL,hibernate才能正确执行!!
      

  2.   

    2楼已经说得很清楚了。不然,你可以取得hibernate的connection进行jdbc insert
      

  3.   

    2楼的只能用于查询吧,如果sql语句是insert,是不成功的吧?我试过了,没有能插入数据
      

  4.   

    public void testInsert(){
      try {
        TUser user = new TUser(); //User POJO
        user.setName("Emma");
        session.save(user);
        session.flush();
      } catch (HibernateException e) {
        e.printStackTrace();
      }
    }public void testSelect(){
      String hql=" from TUser where name='Erica'";
      try {
        List userList = session.find(hql);
        TUser user =(TUser)userList.get(0);
        Assert.assertEquals(user.getName(),"Erica");
      } catch (HibernateException e) {
        e.printStackTrace();
      }
    }
      

  5.   

    上面的例子里面的insert,都是要通过对象的。但我希望就是一个insert的sql语句,直接插入。也许有人问那为何还要用hibernate,那是因为需要直接用sql插入数据的是系统里面的特殊功能用途。
      

  6.   

    可以呀;可以通过SQL语句进行插入数据;没有问题的;看看HIBERNATE文档吧;
      

  7.   

    Connection con = session.connection();这样你得到了一个jdbc Connection ;下面你就可以来作JDBC操作了,,下面的不用说了吧!