![](/img/trans.png)
[英]Jackson module signature prevents addings serializers for self-referencing generic types
[英]A generic signature for self referencing entity?
我为指定类型的子实体定义了一个接口。
// 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。
class Category implements ISelfReferencingEntity<Category> {
@ManyToOne
private Category parent;
}
最初的担忧是添加& IChildEntity<T>
部分以及extends IChildEntity<T>
是否是多余的。
T extends ISelfReferencingEntity<T>
意味着T extends IChildEntity<T>
因为ISelfReferencingEntity<T>
是IChildEntity<T>
<T> 的子类型。 因此,将& IChildEntity<T>
添加到T extends ISelfReferencingEntity<T>
是多余的。
以下定义是首选:
interface ISelfReferencingEntity<T extends ISelfReferencingEntity<T>>
extends IChildEntity<T> {
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.