I am using hibernate and id... is used for persistence (which is why it is omitted in comparison). (Also, using google guava helper equals)
HolidayPackageVariant:
public abstract class HolidayPackageVariant {
private Integer idHolidayPackageVariant;
private HolidayPackage holidayPackage;
private String typeHolidayPackage;
@Override
public boolean equals(Object obj) {
if (obj == this)
return true;
if(obj == null)
return false;
if (getClass().equals(obj.getClass())) {
final HolidayPackageVariant otherPackageVariant = (HolidayPackageVariant) obj;
return Objects.equal(getTypeHolidayPackage(),otherPackageVariant.getTypeHolidayPackage())
&& Objects.equal(getHolidayPackage(),
otherPackageVariant.getHolidayPackage());
}
return false;
}
@Override
public int hashCode() {
return Objects.hashCode(getTypeHolidayPackage(), getHolidayPackage());
}
FlightHolidayPackageVariant:
public final class FlightHolidayPackageVariant extends HolidayPackageVariant{
private Destination originCity;
public boolean equals(Object obj) {
// ..
Should I completely override the equals() or should I be invoking super.equals(...) in some way ?