package com.utstar.nms.vmm.spring.dao;
import java.io.Serializable;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.utstar.nms.vmm.spring.util.GenericsUtils;
public class HibernateEntityDao<T> extends HibernateDaoSupport
implements EntityDao<T> {
protected Class<T> entityClass;
public HibernateEntityDao() {
entityClass = GenericsUtils.getSuperClassGenricType(getClass());
}
/**
* find an object by its id
* @param id
* @return an object
*/
public T findByID(Serializable id) {
return (T) getHibernateTemplate().get(entityClass, id);
}
/**
* @return find all objects
*/
public List<T> findAll()
{
return getHibernateTemplate().loadAll(entityClass);
}
/**
* find objects by sql(jdbc) or hql(hibernate)
* @param ql
* @param values parameter that
* @return an objects list of the query result
*/
public List<T> findByQL(String hql, Object... values)
{
return getHibernateTemplate().find(hql, values);
}
/**
* save the object input
* @param o
*/
public void save(Object object)
{
getHibernateTemplate().save(object);
}
/**
* update the object input
* @param o
*/
public void update(Object object)
{
getHibernateTemplate().update(object);
}
/**
* saveOrUpdate the object input
* @param o
*/
public void saveOrUpdate(Object object)
{
getHibernateTemplate().saveOrUpdate(object);
}
/**
* delete the object input
* @param o
*/
public void remove(Object object)
{
/*delete the object*/
getHibernateTemplate().delete(object);
}
/**
* delete an object by its id
* @param id
*/
public void removeById(Serializable id)
{
/*find the object by id*/
Object object=findByID(id);
/*delete the object*/
remove(object);
}
}
Hibernate实现DAO的常用CRUD操作
最新推荐文章于 2024-04-23 14:44:39 发布
本文介绍了一个通用的Hibernate数据访问对象(HibernateEntityDao),该对象提供了一系列数据库操作方法,包括增删改查等基本功能。通过泛型确保类型安全,并利用Spring的HibernateDaoSupport简化了Hibernate的使用。

291

被折叠的 条评论
为什么被折叠?



