This document discusses the Hades project, which provides a generic data access layer for Java applications using the Java Persistence API and Spring. It introduces the GenericDao interface and GenericJpaDao base class that provide common CRUD and query methods. It also describes how to customize queries using JPA annotations or custom implementations. The presentation demonstrates pagination, sorting, parameters and modifying queries. Hades supports auditing, domain base classes and integration with Spring.