package Ġdatabase Ċ Ċ import Ġorg . hibernate . Session Ċ import Ġorg . hibernate . SessionFactory Ċ import Ġorg . hibernate . Transaction Ċ import Ġorg . hibernate . cfg . Configuration Ċ import Ġorg . hibernate . service . Service Registry Builder Ċ Ċ object ĠDB Tool Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġsession Factory Ġ: ĠSession Factory ĊĠĠĠ Ġlateinit Ġvar Ġsession Ġ: ĠSession ĊĠĠĠ Ġlateinit Ġvar Ġtransaction Ġ: ĠTransaction ĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfiguration (). configure (" hi ber ate . cfg . xml "); ĊĠĠĠĠĠĠĠ Ġval Ġservice Registry Ġ= ĠService Registry Builder (). apply Settings ( config . getProperties ()). build Service Registry (); ĊĠĠĠĠĠĠĠ Ġsession Factory Ġ= Ġconfig . build SessionFactory ( service Registry ); ĊĠĠĠĠĠĠĠ Ġsession Ġ= Ġsession Factory . open Session (); ĊĠĠĠĠĠĠĠ Ġtransaction Ġ= Ġsession . beginTransaction () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdestroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . commit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession Factory . close () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( Ġe : ĠException Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Ġe . message Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun < T > Ġwith Test Dao ( Ġf : Ġ() Ġ-> ĠT Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDB Tool . init () ĊĠĠĠĠĠĠĠ Ġf . invoke () ĊĠĠĠĠĠĠĠ ĠDB Tool . destroy () ĊĠĠĠ Ġ} Ċ }