Hibernate执行sql语句

来源:互联网 发布:阿里布达年代集百度云 编辑:程序博客网 时间:2024/05/18 12:37

查了很多资料,很多这样做的 

1,List list = super.getHibernateTemplate().executeFind(new HibernateCallback(){  
            public Object doInHibernate(Session s) throws HibernateException,SQLException{
              return session.createQuery("from VehicleInfo a where a.ownerId=?")
            .setParameter(0, id)          
            .setFirstResult((pageNo - 1) * pageSize)
            .setMaxResults(pageSize)
            .list();
  }
  });

2, Session session = getSessionFactory().openSession();
String sql = "select...";
Query query = (Query) session.createQuery(sql);
List list = query.list();
session.close();

但是最终我是这样做的:

 public boolean test(){
  
  Session session = getSessionFactory().openSession();
    Connection connection =session.connection();
    try {
   connection.setAutoCommit(false);
  } catch (SQLException e1) {
   e1.printStackTrace();
  }
    Statement statement;
    try {
     statement = (Statement) connection.createStatement();
   //rs=statement.executeQuery("insert into lauwei.user values('2','kem','kem')");
     statement.execute("insert into lauwei.user values('6','kem','kem')");
     connection.commit(); 
     connection.close();
    } catch (SQLException e) {
     System.out.println(e.getMessage());
    }
    return true;
 }