Dao

/**
* 取得Entity的Criteria.
*/
public Criteria getEntityCriteria() {
return getHibernateTemplate().getSessionFactory().getCurrentSession()
.createCriteria(getEntityClass());
}

@SuppressWarnings("unchecked")
public T get(Serializable id) {
T o = (T) getHibernateTemplate().get(getEntityClass(), id);
if (o == null)
throw new ObjectRetrievalFailureException(getEntityClass(), id);
return o;
}

@SuppressWarnings("unchecked")
public List<T> getAll() {
return getHibernateTemplate().loadAll(getEntityClass());
}

public void save(Object o) {
getHibernateTemplate().save(o);
getHibernateTemplate().flush();
}

public void update(Object o) {
getHibernateTemplate().update(o);
getHibernateTemplate().flush();
}

public void removeById(Serializable id) {
remove(get(id));
}

public void remove(Object o) {
getHibernateTemplate().delete(o);
}

@SuppressWarnings("unchecked")
public List<T> find(String hsql, Object... values) {
if (values.length == 0)
return getHibernateTemplate().find(hsql);
else
return getHibernateTemplate().find(hsql, values);
}

/**
* 獲得單個記錄(帶緩存)
*/
@SuppressWarnings("unchecked")
public T getForCache(Serializable id) {
String hql = "from " + getEntityName() + " t where t.id=" + id;
Query query = getHibernateTemplate().getSessionFactory()
.getCurrentSession().createQuery(hql).setCacheable(true);
T o = (T) (query.list().get(0));
if (o == null) {
throw new ObjectRetrievalFailureException(getEntityClass(), id);
}
return o;
}

/**
* 加載所有記錄(帶緩存)
*/
@SuppressWarnings("unchecked")
public List<T> getAllForCache() {
String hql = "from " + getEntityName() + " c order by c.id asc";
Query query = getHibernateTemplate().getSessionFactory()
.getCurrentSession().createQuery(hql).setCacheable(true);
return query.list();
}
發佈了25 篇原創文章 · 獲贊 0 · 訪問量 932
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章