Entitymanager.flush () VS EntityManager.getTransaction (). Commit - Was soll ich bevorzugen?

Was sollte ich beim Aktualisieren der Datenbank bevorzugen? Was sind die Vor- und Nachteile beider Methoden und wann soll ich die eine oder die andere verwenden?

public void disemployEmployee(Integer employeeId, Date endDate) {
    Employee employee = (Employee)em.find("Employee", employeeId);
    employee.getPeriod().setEndDate(endDate);
    em.flush();
}

public void disemployEmployee(Integer employeeId, Date endDate) {
    Employee employee = (Employee)em.find("Employee", employeeId);
    em.getTransaction().begin();
    employee.getPeriod().setEndDate(endDate);
    em.getTransaction().commit();
}

Antworten auf die Frage(5)

Ihre Antwort auf die Frage