SQL for Java Devs · interview question
In the context of JDBC batch processing, what is the effect of using setAutoCommit(false) and manually committing the transaction after executeBatch()?
Multiple choiceHardchapter-8-curatedpremiumsql-for-java-devsbatching
conn.setAutoCommit(false);
PreparedStatement ps = conn.prepareStatement(sql);
ps.addBatch();
// more batches
ps.executeBatch();
conn.commit();Answer and explanation
Correct answer
B. Ensures atomicity across all batched statements.
Why
Using setAutoCommit(false) and manually committing after executeBatch() ensures that either all statements in the batch are committed together, achieving atomicity, or none are if an error occurs.
Test yourself on SQL for Java Devs
A free test with instant, explained results. No account needed.
More SQL for Java Devs questions
- How can JDBC transactions help maintain data integrity during an e-commerce checkout process?
- What would be the effect of not closing a PreparedStatement in a Java application?
- In JDBC, how do you ensure that SQL injection is prevented when executing a query that searches for a user by email?
- Why do teams use SQL JOINs to fetch relational data in a single query in production code?
- What should a repository method mainly encapsulate?
- How can you prevent the N+1 query problem when retrieving a list of orders with their customer details?