Ċ package Ġio . mic ronaut . test . kot lint est Ċ Ċ import Ġio . kot lint est .* Ċ import Ġio . kot lint est . extensions . TopLevel Test Ċ import Ġio . kot lint est . specs . Behavior Spec Ċ import Ġio . mic ronaut . test . extensions . junit 5 . annotation . Mic ronaut Test Ċ import Ġorg . springframework . transaction . Platform Transaction Manager Ċ import Ġorg . springframework . transaction . support . Default Transaction Definition Ċ import Ġjavax . persistence . EntityManager Ċ Ċ @ Mic ronaut Test ( rollback Ġ= Ġfalse ) Ċ @ Db Properties Ċ class ĠJ pa No Rollback Test ( private Ġval Ġentity Manager : ĠEntity Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġtransaction Manager : ĠPlatform Transaction Manager ): ĠBehavior Spec ({ ĊĊĠĠĠ Ġgiven (" no Ġrollback Ġbetween Ġtests ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ` when ` (" test Ġpersist Ġone ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbook Ġ= ĠBook () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbook . title Ġ= Ġ" The ĠStand " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Manager . persist ( book ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġthen (" the Ġbook Ġis Ġpersisted ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Manager . find ( Book :: class . java , Ġbook . id ) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġentity Manager . criteria Builder . createQuery ( Book :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquery . from ( Book :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Manager . createQuery ( query ). result List . size ĠshouldBe Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġgiven (" a Ġnew Ġtransaction ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ` when ` (" test Ġpersist Ġtwo ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbook Ġ= ĠBook () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbook . title Ġ= Ġ" The ĠSh ining " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Manager . persist ( book ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġthen (" the Ġbook Ġis Ġpersisted ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Manager . find ( Book :: class . java , Ġbook . id ) Ġshould Not Be Ġnull ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġentity Manager . criteria Builder . createQuery ( Book :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquery . from ( Book :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity Manager . createQuery ( query ). result List . size ĠshouldBe Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġafter Spec Class ( spec : ĠSpec , Ġresults : ĠMap < TestCase , ĠTest Result >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtx Ġ= Ġtransaction Manager . getTransaction ( Default Transaction Definition ()) ĊĠĠĠĠĠĠĠ Ġval Ġcriteria Builder Ġ= Ġentity Manager . criteria Builder ĊĠĠĠĠĠĠĠ Ġval Ġdelete Ġ= Ġcriteria Builder . create Criteria Delete ( Book :: class . java ) ĊĠĠĠĠĠĠĠ Ġdelete . from ( Book :: class . java ) ĊĠĠĠĠĠĠĠ Ġentity Manager . createQuery ( delete ). executeUpdate () ĊĠĠĠĠĠĠĠ Ġtransaction Manager . commit ( tx ) ĊĠĠĠ Ġ} Ċ }