package Ġno . nav . bid rag . ved tak . persistence . entity Ċ Ċ import Ġno . nav . bid rag . ved tak . dto . Per i ode G run nl ag Dto Ċ import Ġjava . io . Serializable Ċ import Ġjavax . persistence . Column Ċ import Ġjavax . persistence . Entity Ċ import Ġjavax . persistence . Id Ċ import Ġjavax . persistence . Id Class Ċ import Ġjavax . persistence . JoinColumn Ċ import Ġjavax . persistence . ManyToOne Ċ import Ġjavax . persistence . Table Ċ import Ġkotlin . reflect . full . member Properties Ċ Ċ @ Id Class ( Per i ode G run nl ag PK :: class ) Ċ @ Entity Ċ @ Table ( name Ġ= Ġ" peri ode gr un nl ag ") Ċ data Ġclass ĠPer i ode G run nl ag ( ĊĊĠ Ġ@ Id ĊĠ Ġ@ ManyToOne ĊĠ Ġ@ JoinColumn ( name Ġ= Ġ" peri ode _ id ") ĊĠ Ġval Ġper i ode : ĠPer i ode Ġ= ĠPer i ode (), ĊĊĠ Ġ@ Id ĊĠ Ġ@ ManyToOne ĊĠ Ġ@ JoinColumn ( name Ġ= Ġ" gr un nl ag _ id ") ĊĠ Ġval Ġg run nl ag : ĠG run nl ag Ġ= ĠG run nl ag () Ċ Ċ ) Ċ Ċ fun ĠPer i ode G run nl ag . to Per i ode G run nl ag Dto () Ġ= Ġwith (:: Per i ode G run nl ag Dto ) Ġ{ ĊĠ Ġval Ġproperties ByName Ġ= ĠPer i ode G run nl ag :: class . member Properties . associate By Ġ{ Ġit . name Ġ} ĊĠ Ġcall By ( parameters . associate With Ġ{ Ġparameter Ġ-> ĊĠĠĠ Ġwhen Ġ( parameter . name ) Ġ{ ĊĠĠĠĠĠ ĠPer i ode G run nl ag Dto :: peri ode Id . name Ġ-> Ġper i ode . peri ode Id ĊĠĠĠĠĠ ĠPer i ode G run nl ag Dto :: gr un nl ag Id . name Ġ-> Ġg run nl ag . gr un nl ag Id ĊĠĠĠĠĠ Ġelse Ġ-> Ġproperties ByName [ parameter . name ]?. get ( this @ to Per i ode G run nl ag Dto ) ĊĠĠĠ Ġ} ĊĠ Ġ}) Ċ } Ċ Ċ class ĠPer i ode G run nl ag PK ( val Ġper i ode : ĠInt Ġ= Ġ 0 , Ġval Ġg run nl ag : ĠInt Ġ= Ġ 0 ) Ġ: ĠSerializable Ċ