Я пытаюсь разместить общую функциональность для сущностей JPA в классе Abstract:
@MappedSuperclass
public abstract class AbstractEntity implements java.io.Serializable {
private static final Logger log = LoggerFactory.getLogger(ConcreteClass.class);
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private UUID uuid;
@Override
public int hashCode() {
return getUuid().hashCode();
}
@Override
public boolean equals(final Object obj) {
if (this == obj)
return true;
if (!(obj instanceof ConcreteClass))
return false;
return getUuid().equals(((ConcreteClass) obj).getUuid());
}
Возможно ли это / полезно?Как класс Abstract определяет конкретный класс?
Ссылки на комментарии ниже (рабочий код):
@Override
public boolean equals(final Object obj) {
if (this == obj)
return true;
if (obj instanceof AbstractEntity && this.getUuid().equals(((AbstractEntity)obj).getUuid()))
return true;
return false;
}