package Ġcom . program mer friend . awesome _ test containers Ċ Ċ import Ġorg . springframework . data . jpa . repository . Jpa Repository Ċ import Ġorg . springframework . stereotype . Service Ċ import Ġorg . springframework . web . bind . annotation . GetMapping Ċ import Ġorg . springframework . web . bind . annotation . RestController Ċ import Ġjavax . annotation . Post Construct Ċ import Ġjavax . persistence .* Ċ Ċ @ RestController Ċ class ĠExample RestController ( val Ġperson Service : ĠPerson Service ) Ġ{ ĊĊĠĠĠ Ġ@ GetMapping ("/ persons ") ĊĠĠĠ Ġfun Ġget Person (): ĠList < Person Dto > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġperson Service . getAll Pers ons () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġperson Model Ġ-> ĠPerson Dto . from Model ( person Model ) Ġ}; ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠPerson Dto ( val Ġname : ĠString ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Model ( person : ĠPerson ) Ġ= ĠPerson Dto ( person . name ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Service Ċ class ĠPerson Service ( private Ġval Ġperson Repository : ĠPerson Repository ) Ġ{ ĊĠĠĠ Ġfun ĠgetAll Pers ons (): ĠList < Person > Ġ= Ġperson Repository . findAll () ĊĊĠĠĠ Ġ@ Post Construct ĊĠĠĠ Ġfun Ġprepare Database () Ġ{ ĊĠĠĠĠĠĠĠ Ġperson Repository . delete All () ĊĠĠĠĠĠĠĠ Ġperson Repository . save ( Person ( name Ġ= Ġ" Mar cus ĠE ise le ")) ĊĠĠĠĠĠĠĠ Ġperson Repository . save ( Person ( name Ġ= Ġ" John ĠDoe ")) ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠPerson Repository Ġ: ĠJ pa Repository < Person , ĠNumber > Ċ Ċ @ Entity Ċ data Ġclass ĠPerson ( ĊĠĠĠĠĠĠĠ Ġ@ Id ĊĠĠĠĠĠĠĠ Ġ@ GeneratedValue ( strategy Ġ= ĠGeneration Type . IDENTITY ) ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt ? Ġ= Ġnull , ĊĊĠĠĠĠĠĠĠ Ġ@ Column ( nullable Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString Ċ )