package Ġru . tp u . budget . domain . entities Ċ Ċ import Ġru . tp u . budget . domain . Base Audit Entity Ċ import Ġjava . time . LocalDate Ċ import Ġjavax . persistence .* Ċ Ċ @ Entity Ċ @ Table ( name Ġ= Ġ" plans ") Ċ class ĠPlan ( ĊĠĠĠ Ġval ĠstartDate : ĠLocalDate , ĊĠĠĠ Ġvar Ġaccuracy : ĠDouble , ĊĊĠĠĠ Ġ@ OneToMany ( ĊĠĠĠĠĠĠĠ Ġmapped By Ġ= Ġ" plan ", ĊĠĠĠĠĠĠĠ Ġfetch Ġ= ĠFetch Type . LA ZY , ĊĠĠĠĠĠĠĠ Ġorphan Removal Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġcascade Ġ= Ġ[ Cascade Type . ALL ] ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġitems : ĠMutable List < Plan Item > Ġ= Ġmutable ListOf () Ċ ): ĠBase Audit Entity < Int >() Ġ{ ĊĠĠĠ Ġfun Ġadd Item ( block : ĠPlan . () Ġ-> ĠPlan Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . add ( block ()) ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġset Items ( block : ĠPlan . () Ġ-> ĠMutable Set < Plan Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . clear () ĊĠĠĠĠĠĠĠ Ġitems . addAll ( block ()) ĊĠĠĠ Ġ} Ċ }