Switched to commons lang builders for equals, hashcode and toString.
Switched to Spring Data Repository.
Added another layer to the domain.