package com.vst.dao.hibernate;
import java.util.List;
import com.vst.dao.RegionDao;
import com.vst.model.Answer;
import com.vst.model.Region;
public class RegionDaoHibernate extends BaseDaoHibernate<Region> implements RegionDao {
public Region getRegionById(Integer id) {
return (Region) getObject(id);
}
public boolean isUniqueRegion(Region region) {
int count = super.getSession().createQuery("from Region region where region.regionName=? AND region.regionId<>? ").setString(0, region.getRegionName()).setString(1, String.valueOf(region.getRegionId())).list().size();
return count == 0;
}
/**
* @see com.vst.dao.AnswerDao#getAnswers(com.vst.model.Answer)
*/
public List getRegions(final Region region) {
return getHibernateTemplate().find("from Region");
/* Remove the line above and uncomment this code block if you want
to use Hibernate's Query by Example API.
if (answer == null) {
return getHibernateTemplate().find("from Answer");
} else {
// filter on properties set in the answer
HibernateCallback callback = new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Example ex = Example.create(answer).ignoreCase().enableLike(MatchMode.ANYWHERE);
return session.createCriteria(Answer.class).add(ex).list();
}
};
return (List) getHibernateTemplate().execute(callback);
}*/
}
/**
* @see com.vst.dao.AnswerDao#getAnswer(Integer answerId)
*/
public Region getRegion(final Integer regionId) {
Region region = (Region) getObject(regionId);
return region;
}
/**
* @see com.vst.dao.AnswerDao#saveAnswer(Answer answer)
*/
public void saveRegion(final Region region) {
saveObject(region);
}
/**
* @see com.vst.dao.AnswerDao#removeAnswer(Integer answerId)
*/
public void removeRegion(final Integer regionId) {
removeObject(regionId);
}
@Override
Class<Region> getServiceClass() {
return Region.class;
}
}