package Ġcom . evil corp . so ul manager . entity Ċ Ċ import Ġcom . evil corp . so ul manager . entity . value able good . Bag Ċ import Ġcom . evil corp . so ul manager . entity . value able good . P ocket Ċ import Ġcom . evil corp . so ul manager . entity . value able good . Wallet Ċ import Ġjavax . persistence .* Ċ Ċ @ Entity Ċ data Ġclass ĠUser ( ĊĠĠĠĠĠĠĠ Ġ@ Id Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . IDENTITY ) Ġval Ġid : ĠLong Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠ Ġval Ġfirst name : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġval Ġlastname : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Column ( unique Ġ= Ġtrue ) Ġval Ġusername : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ Column ( unique Ġ= Ġtrue ) Ġval Ġemail : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġval Ġpassword : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġ@ ManyToMany ( fetch Ġ= ĠFetch Type . E AGER ) Ċ // ĠĠĠĠĠĠĠ Ġ@ Join Table ( name Ġ= Ġ" user _ roles ", Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjoin Columns Ġ= Ġ[( JoinColumn ( name Ġ= Ġ" user _ id ", Ġreferenced ColumnName Ġ= Ġ" id ")) ], Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinverse Join Columns Ġ= Ġ[( JoinColumn ( name Ġ= Ġ" role _ id ", Ġreferenced ColumnName Ġ= Ġ" id ")) ]) ĊĠĠĠĠĠĠĠ Ġval Ġroles : ĠList < Role > Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġ@ OneToMany ( mapped By Ġ= Ġ" from ") Ġval Ġtransactions From : ĠMutable List < Transaction > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠ Ġ@ OneToMany ( mapped By Ġ= Ġ" to ") Ġval Ġtransactions To : ĠMutable List < Transaction > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠ Ġ@ OneToMany ( mapped By Ġ= Ġ" owner ") Ġval Ġbags : ĠMutable List < Bag > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠ Ġ@ OneToMany ( mapped By Ġ= Ġ" owner ") Ġval Ġp ocket s : ĠMutable List < P ocket > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠ Ġ@ OneToMany ( mapped By Ġ= Ġ" owner ") Ġval Ġwallet s : ĠMutable List < Wallet > Ġ= Ġmutable ListOf () Ċ ) Ġ{ ĊĠĠĠ Ġval Ġfullname : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ"$ firstname Ġ$ lastname " Ċ }