private void updateChildrenCode(Session session, String id, String code,
boolean validTag) throws DAOException {
String CHILDREN_SQL = "from TemplateCategoryEntity entity where entity.parentId=:id";
Query query = session.createQuery(CHILDREN_SQL);
query.setString("id", id);
List list = query.list();
for (int i = 0; i < list.size(); i++) {
TemplateCategoryEntity child = (TemplateCategoryEntity) list.get(i);
boolean validTag) throws DAOException {
String CHILDREN_SQL = "from TemplateCategoryEntity entity where entity.parentId=:id";
Query query = session.createQuery(CHILDREN_SQL);
query.setString("id", id);
List list = query.list();
for (int i = 0; i < list.size(); i++) {
TemplateCategoryEntity child = (TemplateCategoryEntity) list.get(i);
child.setCode(code
+ "|"
+ ConvertUtil.toFixString(child.getId(),
TemplateCategoryEntity.CODE_LENGTH));
child.setValidTag(validTag);
session.update(child);
updateChildrenCode(session, child.getId(), child.getCode(), child
.isValidTag());
}
}
+ "|"
+ ConvertUtil.toFixString(child.getId(),
TemplateCategoryEntity.CODE_LENGTH));
child.setValidTag(validTag);
session.update(child);
updateChildrenCode(session, child.getId(), child.getCode(), child
.isValidTag());
}
}
public void delete(IEntity generic) throws DAOException {
final TemplateCategoryEntity entity = (TemplateCategoryEntity) generic;
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
//-----------------------------------------------
TemplateCategoryEntity category = (TemplateCategoryEntity) entity;
ArrayList ids = new ArrayList();
ids.add(category.getId());
listAllChildrenIds(session, ids, category.getId());
log.debug("delete TemplateCategoryEntity ids=" + ids);
String DELETE = "delete from TemplateCategoryEntity where id in (:ids)";
Query query = session.createQuery(DELETE);
query.setParameterList("ids", ids);
query.executeUpdate();
// ----------------------------------------------
return entity;
}
final TemplateCategoryEntity entity = (TemplateCategoryEntity) generic;
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
//-----------------------------------------------
TemplateCategoryEntity category = (TemplateCategoryEntity) entity;
ArrayList ids = new ArrayList();
ids.add(category.getId());
listAllChildrenIds(session, ids, category.getId());
log.debug("delete TemplateCategoryEntity ids=" + ids);
String DELETE = "delete from TemplateCategoryEntity where id in (:ids)";
Query query = session.createQuery(DELETE);
query.setParameterList("ids", ids);
query.executeUpdate();
// ----------------------------------------------
return entity;
}