TrainingGoal is a small university case project written in Java , demonstrating J2EE Servlets web application development using the N-tier application architecture. The data access layer uses the generic repository pattern with Hibernate as ORM along with the Unit of Work pattern to manage transactions and concurrency. The application logic uses the Factory pattern to determine which controller to load and POJO entities using the Domain Model pattern.