Book entity with hashCode and equals