聯級刪除
聯級刪除:(通過業務邏輯實現)
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;
}
});
}
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;
}
});
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.