A generic dao which can perform CRUD operation for any objects annotated with custom annotations.