Я определил интерфейс для дочерних сущностей указанного типа.
// a child of T
interface IChildEntity<T> {
T getParent();
}
Теперь я пытаюсь определить интерфейс для самоссылающихся сущностей.
Какой из них определения предпочтительны?
interface ISelfReferencingEntity<T extends ISelfReferencingEntity<T>>
extends IChildEntity<T> {
}
interface ISelfReferencingEntity<T extends ISelfReferencingEntity<T> & IChildEntity<T>>
extends IChildEntity<T> {
}
Здесь приводится действительный класс сущности.
class Category implements ISelfReferencingEntity<Category> {
@ManyToOne
private Category parent;
}
Первоначальный вопрос заключается в том, является ли добавление части & IChildEntity<T>
вместе с extends IChildEntity<T>
избыточным или нет.