In Hibernate API gibt es eine Eigenschaft hibernate.connection.autocommit, die auf True festgelegt werden kann.Warum wird "Hibernate.connection.autocommit = true" in Hibernate nicht empfohlen?
Aber in der API, haben sie erwähnt, dass es nicht empfehlenswert ist es eingerichtet wie so:
Ermöglicht autocommit für JDBC-Pool-Verbindungen (es ist nicht empfohlen).
Warum ist es nicht zu empfehlen? Was sind die negativen Auswirkungen dieser Eigenschaft auf True?
Hibernate verwendet JDBC unter der Haube. autoCommit ist ein Konzept von JDBCConnection, was "Transaktion pro Anweisung" bedeutet. Bereich der transactionsn = 1 SQL-Anweisung [autocommit = true] hibernate.connection.autoCommit = true macht jede Anweisung Commited einmal abgeschlossen ist, so dass wir nicht committe/rollback 2 oder mehr Anweisungen als Teil der einzelnen Einheit der Arbeit. Wir wollen- entweder alle Anweisungen ausgeführt oder keine ausgeführt - dafür müssen wir Anfang und Ende der Transaktion markieren und wir müssen AutoCommit deaktivieren. –
hibernate.connection.autocommit = false 2 Szenarien explizite Transaktionsgrenze. sessionFactory.openSession() session.beginTransaction() session.getTransaction commit()() // Flushes Session, Verpflichtet Txn Sitzung. close() impliziten Transaktionsgrenze sessionFactory.openSession() // keine Transaktionsnutzung Siehe // aber die implizite TXN weil - Autocommit falsch ist session.flush() session.Close() hier - Wenn wir die Sitzung schließen, ist Spezifisch action ist nicht klar so herstellerspezifisches Verhalten in Oracle - alle SQL-Anweisungen erhalten in postgresql committed - alle SQL-Anweisungen zurückgesetzt –