首先,来看看UML图:
从上图可以看到,GenericDao是整个泛型化DAO层的基础,它主要包括了与数据库相关的四个最基本的操作(CRUD),当然也可以结合Hibernate做出相适应的变化。
请参看以下GenericDao代码:
package com.homeland.myapp.dao;
import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.LockMode;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.DetachedCriteria;
public interface GenericDao<T, ID extends Serializable> {
public T findById(ID id);
public T findByEntity(Class<T> cls, ID id);
public List<T> loadAll();
public void save(T entity);
public void saveAl