package com.vst.dao.hibernate;
import java.util.ArrayList;
import java.util.List;
import com.vst.dao.DangerCategoryDao;
import com.vst.dao.util.RefferenceUtil;
import com.vst.model.DangerCategory;
public class DangerCategoryDaoHibernate extends BaseDaoHibernate<DangerCategory> implements DangerCategoryDao {
public List getConnectedRefferences(final String dangerCategoryId){
List constructionDefectList=super.getSession().createQuery("select count(*) from ConstructionDefect constDefect where constDefect.dangerCategory.dangerCategoryId=?").setString(0,dangerCategoryId).list();
List constructionExampleList=super.getSession().createQuery("select count(*) from ConstructionExample constExample where constExample.dangerCategory.dangerCategoryId=?").setString(0,dangerCategoryId).list();
List buildingObjectList=super.getSession().createQuery("select count(*) from BuildingObject buildingObject where buildingObject.dangerCategory.dangerCategoryId=?").setString(0,dangerCategoryId).list();
List referenceList=new ArrayList();
RefferenceUtil.makeURL(referenceList,"buildingObject",buildingObjectList);
RefferenceUtil.makeURL(referenceList,"constructionDefect",constructionDefectList);
RefferenceUtil.makeURL(referenceList,"constructionExample",constructionExampleList);
return referenceList;
}
public boolean isDangerCategoryUsed(String dangerCategoryId){
Long count1=(Long)super.getSession().createQuery("select count(*) from ConstructionDefect constDefect where constDefect.dangerCategory.dangerCategoryId=?").setString(0,dangerCategoryId).uniqueResult();
Long count2=(Long)super.getSession().createQuery("select count(*) from ConstructionExample constExample where constExample.dangerCategory.dangerCategoryId=?").setString(0,dangerCategoryId).uniqueResult();
Long count3=(Long)super.getSession().createQuery("select count(*) from BuildingObject buildingObject where buildingObject.dangerCategory.dangerCategoryId=?").setString(0,dangerCategoryId).uniqueResult();
if(count1 ==null){
count1=new Long(0);
}
if(count2 ==null){
count2=new Long(0);
}
if(count3 ==null){
count3=new Long(0);
}
if(count1.intValue()+count2.intValue()+count3.intValue()>0){
return true;
}
return false;
}
/**
* @see com.vst.dao.DangerCategoryDao#getDangerCategorys(com.vst.model.DangerCategory)
*/
public List getDangerCategorys(final DangerCategory dangerCategory) {
return getHibernateTemplate().find("from DangerCategory");
/* Remove the line above and uncomment this code block if you want
to use Hibernate's Query by Example API.
if (dangerCategory == null) {
return getHibernateTemplate().find("from DangerCategory");
} else {
// filter on properties set in the dangerCategory
HibernateCallback callback = new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Example ex = Example.create(dangerCategory).ignoreCase().enableLike(MatchMode.ANYWHERE);
return session.createCriteria(DangerCategory.class).add(ex).list();
}
};
return (List) getHibernateTemplate().execute(callback);
}*/
}
/**
*
*/
public DangerCategory getDangerCategory(final Integer dangerCategoryId) {
DangerCategory dangerCategory = (DangerCategory) getObject(dangerCategoryId);
return dangerCategory;
}
/**
*
*/
public void saveDangerCategory(final DangerCategory dangerCategory) {
saveObject(dangerCategory);
}
/**
*
*/
public void removeDangerCategory(final Integer dangerCategoryId) {
removeObject(dangerCategoryId);
}
@Override
Class<DangerCategory> getServiceClass() {
return DangerCategory.class;
}
}