1、定义接口
package cn.joeho.base;
import java.io.Serializable;
public interface DAO<T> {
public String getSubClass();
public Class<T> getEntityClass();
public void save(T entity);
public void update(T entity);
public void delete(Serializable id);
public T find(Serializable id);
public long getCount();
}
2、接口的实现类
package cn.joeho.base;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Transactional
public abstract class DaoSupport<T> implements DAO<T> {
@Persist