JavaServer Faces application with Spring MVC, Primefaces, Hibernate, MySQL, DAO Pattern and Generic Repository