@Override public boolean equals(Object obj) { if (this == obj) { return true; } // DO NOT call super.equals(); because ID could be null. // if (!super.equals(obj)) { // return false; // } if (getClass() != obj.getClass()) { return false; } RestaurantPrefixTable other = (RestaurantPrefixTable) obj; if (restaurant == null) { if (other.restaurant != null) { return false; } } else if (restaurant.getId() == null) { if (other.restaurant.getId() != null) { return false; } } else if (other.restaurant == null || !restaurant.getId().equals(other.restaurant.getId())) { return false; } if (prefix == null) { if (other.prefix != null) { return false; } } else if (prefix.getId() == null) { if (other.prefix.getId() != null) { return false; } } else if (other.prefix == null || !prefix.getId().equals(other.prefix.getId())) { return false; } if (type == null) { if (other.type != null) { return false; } } else if (type.getId() == null) { if (other.type.getId() != null) { return false; } } else if (other.type == null || !type.getId().equals(other.type.getId())) { return false; } return true; }
@Override public int hashCode() { final int prime = 31; int result = 1; // DO NOT call super.hashCode(); because ID could be // null. result = prime * result + ((restaurant == null || restaurant.getId() == null) ? 0 : restaurant.getId().hashCode()); result = prime * result + ((prefix == null || prefix.getId() == null) ? 0 : prefix.getId().hashCode()); result = prime * result + ((type == null || type.getId() == null) ? 0 : type.getId().hashCode()); return result; }