Fechar uma transaction

bem, eu inicio uma transaction assim

tx = session.beginTransaction();

gostaria de saber como fechar ela depois de utiliza-la, seria so com o commit ou teria um metodo?
isso previne os acontecimentos de memory leaks?

e devo fazer isso antes ou depois de fechara session?