If I create a preparedstatement using a JDBC connection which has "autocommit off", do I need to call commit() to make the transaction permanent or only the prepare call is enough? Note that I only want to prepare a statement and keep it for later execution.
Many thanks!
The answer is: yes you have to call commit.
The "prepare" step does not do anything that is relevant for transaction handling on the server.
You have to call executeUpdate() (or execute()) to start a transaction (assuming the used SQL does in fact start a transaction)
Using a PreparedStatement without auto-commit requires the following steps:
executeUpdate() (or execute() depending on the type of statement)Connection.commit()
To make things clearer: calling prepareStatement() does not require a commit().
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With