si nous appelons EntityTransaction.commit(), appelle-t-il automatiquementEntityManager.flush() ?
Oui
quelle est la différence ?
Dans flush(), les modifications apportées aux données sont reflétées dans la base de données après avoir rencontré flush, mais elles sont toujours dans transaction.flush() DOIT être enfermée dans un contexte de transaction et vous n'avez pas à le faire explicitement sauf si nécessaire (dans de rares cas ), quand EntityTransaction.commit() le fait pour vous.
Source