Отвържете се ще накара базата данни да се ангажира. Промените в постоянния обект ще бъдат записани в базата данни.Изтриване е процесът на синхронизиране основният persistentstore с постоянно състояние, съхранявано в паметта.т.е. той ще се актуализира или вмъкне във вашите таблици в текущата транзакция, но може не фиксирайте тези промени (това зависи от вашия режим на промиване).
Когато имате постоянен обект и промените стойността му, той става мръсен и хибернацията трябва да измие тези промени към вашия постоянен слой. Може да направи това автоматично за вас или може да се наложи да направите това ръчно, това зависи от вашия режим на промиване (автоматичен или ръчен) :)
Така накратко:transaction.commit() изтрива сесията, но също така приключва работната единица.
Има подобна препратка към вашия проблем тук