Begå kommer att göra databasen commit. Ändringarna av beständigt objekt kommer att skrivas till databasen.Spolning är processen att synkronisera den underliggande persistentstore med persistent tillstånd som hålls i minnet.dvs. det kommer att uppdateras eller infogas i dina tabeller i den löpande transaktionen, men det kan inte begå dessa ändringar (detta beror på ditt spolläge).
När du har ett beständigt objekt och du ändrar värde på det, blir det smutsigt och viloläge måste spola dessa ändringar till ditt beständighetslager. Det kan göra detta automatiskt för dig eller så kan du behöva göra detta manuellt, det beror på ditt spolläge (auto eller manuell) :)
Så kort och gott:transaction.commit() spolar sessionen, men det avslutar också arbetsenheten.
Det finns en liknande referens till ditt problem här