add hashcode to Customer entity and customize customer validation