聯級刪除

聯級刪除:(通過業務邏輯實現)
String[] ids是傳過來的數組,可以選擇多個刪除,同時刪除他們的子表.
public void delete(String[] ids) {
  final Long[] cids = new Long[ids.length];
  for(int i=0;i<ids.length;i++){
   cids[i] = Long.valueOf(ids[i]);
  }
  final String hql = " delete from 父 where id in (:id)";//刪除父信息
  final String hqlchild = " delete from 子  where parentid in (:parentid)";//刪除子信息
  getHibernateTemplate().execute(new HibernateCallback(){
   public Object doInHibernate(Session session) throws HibernateException, SQLException {
    session.createQuery(hql).setParameterList("id",cids).executeUpdate();
    session.createQuery(hqlchild).setParameterList("parentid",cids).executeUpdate();
    return null;
   }
   
  });
  
 }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章