Hql中的三种删除方式

关于Hibernate的删除方式搞了一上午,终于完成啦。

Hibernate的删除方式:

   /*方式一*/
String hql = "select p from Province as p where p.id=?";
Query query = session.createQuery(hql);
query.setString(0, id);
Province p = (Province)query.list().get(0);
session.delete(p);
  /*方式二*/
  String hql = "delete Province where id=?";
  Query query = session.createQuery(hql);
  query.setString(0, id);
  int x = query.executeUpdate();
  if(x>0){
   flag = true;
  }
  /*方式三*/
 Province p = (Province)session.get(Province.class, id);
 session.delete(p);

方式一相对比较笨重。

方式二中的Hql语句不要加as + 别名,最开始写的时候就因为这个一上午时间就这么给浪费啦,希望朋友们不要犯和我一样的错误哦!

方式三是Hibernate自带的方法。

加油加油!

你可能感兴趣的:(技术文章)