nullable setterおよびnullableフィールドを持つnullable getterを実装しようとしています。nullable getterを持つnullableフィールド
- フィールド
parent
はnullにすることができます。つまり、親はthis
です。 parentがnullでない場合、親はparent
の値です。 - ゲッターが返されるのは、
this
またはparent
- です。Setterは、現在の親を削除できるため、null値を設定できます。
@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
変数を好きではないが、それはまだparent: T
として、NULL可能でないためにも、それは、セッターとの助けにはならない、そう:
は、私は、これは試してみました解決策は機能しません。
使用しているORMはわかりませんが、この抽象クラス/インタフェースを拡張/実装している可能性があるので、 'parent'は単なる別のプロパティになります。カスタムロジックを提供したい場合は、 'parent'を拡張プロパティにすることをお勧めします。 –