public abstract class BaseDao<E extends BaseEntity> extends JpaDaoSupport { /** * 创建实体 * * @param entity */ public void insert(E entity) { entity.setCreateTime(DateTimeUtil.currentTime()); getEntityManager().persist(entity); } }
@Transactional(propagation=Propagation.REQUIRED) public abstract class BaseService<E extends BaseEntity> { protected BaseDao<E> dao; public void setDao(BaseDao<E> dao) { this.dao = dao; } public BaseDao<E> getDao() { return dao; } /* * 新增 */ public void insert(E obj) { dao.insert(obj); } }
@Repository("reasonDao") public class ReasonDao extends BaseDao<Reason> { }
public interface ReasonService extends IBaseService<Reason> { }
@Transactional @Service("reasonService") public class ReasonServiceImpl extends BaseService<Reason> implements ReasonService { @Resource(name = "reasonDao") private ReasonDao reasonDao; }
@Transactional @Service("reasonService") public class ReasonServiceImpl extends BaseService<Reason> implements ReasonService { @Resource(name = "reasonDao") private ReasonDao reasonDao; @Resource(name = "reasonDao") public void setDao(BaseDao<Reason> dao) { super.setDao(dao); } }