When using JPA you should implement equals() and hashCode() if you
- Intend to put instances of persistent classes in a Set.
- Intend to use reattachment of detached instances.
For JDK 7 and above, you can use the new java.util.Objects class to generate the equals and hash code values.
Test code