Refactor HibernateGenericDAO