hvis vi kalder EntityTransaction.commit(), kalder det så automatisk EntityManager.flush()?
Ja
hvad er forskellen?
I flush() afspejles ændringerne i dataene i databasen efter at have stødt på flush, men det er stadig i transaktion.flush() SKAL være indesluttet i en transaktionskontekst, og du behøver ikke at gøre det eksplicit, medmindre det er nødvendigt (i sjældne tilfælde ), når EntityTransaction.commit() gør det for dig.
Kilde