У меня класс сущностей выглядит следующим образом.
@Entity
public class Category {
@OneToMany(optional = true)
@JoinColumn(name = "parent_id", nullable = true)
private Category parent; // null when this entity is a root
}
Теперь я хочу добавить метод для подтверждения отсутствия циклических c ссылок в графе объектов.
@AssertFalse
private boolean isCyclicReferencing() {
for (Parent parent = getParent(); parent != null; parent = parent.getParent()) {
if (Objects.equals(parent.getId(), getId())) { // This?
return true;
}
if (parent == this) { // Or This?
return true;
}
}
return false;
}
Какой правильный способ сравнения?
if (Objects.equals(parent.getId(), getId())) {
return true;
}
ИЛИ
if (parent == this) {
return true;
}
?