package Ġpl . alt kom . asc . lab . mic ronaut . p oc . documents . infrastructure . db Ċ Ċ import Ġpl . alt kom . asc . lab . mic ronaut . p oc . documents . annotations . Requires Jdbc Ċ import Ġpl . alt kom . asc . lab . mic ronaut . p oc . documents . domain . Policy Document Ċ import Ġpl . alt kom . asc . lab . mic ronaut . p oc . documents . domain . Policy Document Repository Ċ import Ġio . mic ronaut . configuration . hibernate . jpa . scope . Current Session Ċ import Ġio . mic ronaut . spring . tx . annotation . Transactional Ċ import Ġjavax . inject . Singleton Ċ import Ġjavax . persistence . EntityManager Ċ import Ġkotlin . streams . toList Ċ Ċ @ Singleton Ċ @ Requires Jdbc Ċ open Ġclass ĠPolicy Doc y ment Db ( ĊĠĠĠĠĠĠĠ Ġ@ Current Session ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġentity Manager : ĠEntity Manager Ċ ) Ġ: ĠPolicy Document Repository Ġ{ ĊĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġoverride Ġfun Ġadd ( document : ĠPolicy Document ) Ġ{ ĊĠĠĠĠĠĠĠ Ġentity Manager . persist ( document ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transactional ĊĠĠĠ Ġoverride Ġfun ĠfindBy Policy Number ( policy Number : ĠString ): ĠList < Policy Document > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġentity Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. createQuery < Policy Document >(" from ĠPolicy Document Ġt Ġwhere Ġt . policy Number = Ġ: policy Number ", ĠPolicy Document :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setParameter (" policy Number ", Ġpolicy Number ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. result Stream ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĊĠĠĠ Ġ} Ċ Ċ }