关于BaseHibernateDAO的设计目的的疑问

J2EE 码拜 9年前 (2016-04-28) 928次浏览
最近一直在思考一个问题
我们的serviceImpl类 继承了一个BaseHibernateDAO,实现UserService接口

@Repository
public class UserServiceImpl  extends BaseHibernateDAO<Userinfo, Integer>
		implements UserService {

而这个BaseHibernateDAO 里面封装了常见了一些操作,

public interface IBaseHibernateDAO<E extends java.io.Serializable, PK extends java.io.Serializable> {
	public Session getSession();
	public void save(E entity);
	public void saveOrUpDate(E entity);

	public void delete(PK id);
	public void update(E entity);
	public List<E> listAll();

	public List<E> findByProperty(String queryProperty,String value);

	public E get(PK id);
}

而在我们的controller里面注入的却是
@Autowired
private UserService userService;
本人想的是,我们的 UserServiceImpl  里面既然都继承了BaseHibernateDAO,那BaseHibernateDAO里面的方法很多自然可以不用在复写了,
但是实际情况却不是这样的,UserServiceImpl  里面全部BaseHibernateDAO的方法都得复写一遍,不写的话,controller里面接口明显是没有那些公共的方法的。
return super.listAll(); 这样。
现在越来越不清楚这样设计的目的了,那这个BaseHibernateDAO还有啥用呢?

解决方案

40

BaseHibernateDAO封装常见的CRUD的操作。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于BaseHibernateDAO的设计目的的疑问
喜欢 (0)
[1034331897@qq.com]
分享 (0)