我想在hibernate中直接执行sql语句 ,在网上找了几个方法都不好使!
请大家帮忙

解决方案 »

  1.   

     SQLQuery createSQLQuery(String queryString) 
              Create a new instance of SQLQuery for the given SQL query string 
      

  2.   

    直接使用
    createSQLQuery(String queryString).executeupdate/list就行啦嘛
    你的不好使是什么意思?
      

  3.   

    也可以这样:如果您了解如何撰写SQL语句,想要设定一些Hibernate产生SQL时的范本,您也可以使用Restrictions的sqlRestriction()方法,提供SQL语法范本作限定查询,例如查询name以cater开头的资料:Criteria criteria = session.createCriteria(User.class);  criteria.add(Restrictions.sqlRestriction(  "{alias}.name LIKE (?)", "cater%", Hibernate.STRING));  List users = criteria.list(); 其中alias将被替换为与User类别相关的名称,而? 将被替换为cater%,也就是第二个参数所提供的值,sqlRestriction()方法第一个参数所设定的是where子句的部份,所以在SQL撰写时,不必再写where,观察所产生的SQL语句,将使用您所设定的SQL范本作为基础,来完成SQL的条件查询:Hibernate: select this_.id as id0_0_, this_.name as name0_0_, this_.age as age0_0_ from T_USER this_ where this_.name LIKE (?)如果有多个查询条件,例如between子句的查询,则可以如下:Criteria criteria = session.createCriteria(User.class);  Integer[] ages = {new Integer(20), new Integer(40)};  Type[] types = {Hibernate.INTEGER, Hibernate.INTEGER};  criteria.add(Restrictions.sqlRestriction(  "{alias}.age BETWEEN (?) AND (?)", ages, types));  List users = criteria.list(); 观察所产生的SQL语句如下:Hibernate: select this_.id as id0_0_, this_.name as name0_0_, this_.age as age0_0_ from T_USER this_ where this_.age BETWEEN (?) AND (?)
      

  4.   

    网上找了很多资料?????看 Hibernate API了吗 先  ?????
      

  5.   


    这位大姐,csdn中很活跃!IFU.....
    顶算哒...