我想以同样的方式管理所有DAO:
1)使用保存,更新,删除等实体操作创建一个基类
2)每个DAO继承基类并执行基类操作
3)所有实体也将有一个根。
public abstract BaseDao {
...
@Transactional
public T update(T entity) throws DataAccessException {
getHibernateTemplate().update(entity);
return entity;
}
}
...
public MemberDao extends BaseDao {
...
@Override
@Transactional
public IMember update(IMember member) throws DataAccessException {
super.update(member);
return member;
}
}
并且有两种可能的方式:
1)基于HibernateDaoSupport and getHibernateTemplate()
2)基于getEntityManagerFactory().createEntityManager()
主要问题是基于 hibernateTemplate 或 entityManager 的方法 - 哪些方法更好用?
在两种情况下,基础JPA提供者都是Hibernate。