Dao Generic - manu9/patterns GitHub Wiki

Patrón Dao Generic

La capa de persistencia de datos es el lugar en donde mas código duplicado podría generase, lo que queremos es implementar un patrón llamado "Dao Generic" que nos permitirá manejar el CRUD (create, read, update, delete), en otras palabras las operaciones genéricas a todos los DAO, liberando a las clases especificas de dicha tarea y eliminando el código duplicado que deberían tener cada una de esas clases para realizar alguna operación del CRUD.

Interface GenericDao

El núcleo de este patrón será una interfaz llamada, sorprendentemente, GenericDao y su implementación GenericDaoImpl. Este es el código:

import java.io.Serializable;
import java.util.List;

public interface GenericDao<Entity, Id extends Serializable> {

	public boolean save(Entity entity);

	public boolean update(Entity entity);

	public boolean delete(Entity entity);

	public boolean delete(Long id);
	
	public List<Entity> findAll();

	public Entity getById(Long id);
}

Implementación GenericJpaDaoImpl

Luego creamos una implementación usando JPA, puede haber una implementación SQL, otra Hibernate, etc...,

⚠️ **GitHub.com Fallback** ⚠️