我正在尝试使用可空的setter和nullable字段来实现不可为空的getter。
parent
可以为null,表示父级为this
。如果parent不为null,则父级为parent
值。this
或parent
我试过了:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "parent_id")
var _parent: T? = null
var parent: T
get() = if (isParent) this as T else _parent!!
set(value) {
_parent = if (value == null) null else value.parent
}
我不喜欢_parent
变量,但它对setter没有帮助,因为它仍然不能作为parent: T
,因此解决方案不起作用。 / p>