I have a Java app which uses JTA(Apache Geronimo) to manage transactions. The database in use is MySQL. App has a lot of begin and commit methods. However looking at the MySQL general log I could not find a single "Start transaction" query/command. The log is full of SET autocommit=1 and SET autocommit=0 with commit and rollback. Due to this, looking at logs I am unable to identify at what point the transaction began. I am not a Java guy and I could not find any helping resource on this either.
Why doesn't MySQL JDBC use "Start transaction" query to start transactions?
1.9k Views Asked by Kumar At
2
There are 2 best solutions below
0
Arman
On
Start transaction and commit statements are used in MySql InnoDB. But In MySQL MyISAM, these commands are not valid so you need to use set autocommit = 0 instead of Start Transaction and set autocommit = 1 in place of commit;
InnoDB allows both the ways but MyISAM allows only set autocommit. Also, note that these commands perform somewhat similar work but they are not identical. And the use of set autocommit is not recommended in InnoDB.
For more information refer this question in StackOverflow.
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in MYSQL
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to change woocomerce or full wordpress currency with value from USD to AUD
- window.location.href redirects but is causing problems on the webpage
- Error: local variable 'bramka' referenced before assignment
- Products aren't displayed after fetching data from mysql db (node.js & express)
- status table for all entries (even in different dates) in database changing value when all checkboxes are checked
- Can't Fix Mariadb & Mysql ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2) On MacOs
- Express Mysql getting max ID from table not working cought in a promise
- failed to upload a table from sql file
- Update a MySQL row depending on the ID in Google Sheets Apps Script
- Use row values from another table to select them as columns and establish relations between them (pivot table)
- SQL: Generate combination table based on source and destination column from same table
- How to display the column names which have only unique non-null values in MySQL table?
- mysql query takes too long because of wrong indexes usage
- Multitable joining in Sql
Related Questions in JDBC
- Hibernate ClobJdbcType bindings: what are the diferences?
- Update a MySQL row depending on the ID in Google Sheets Apps Script
- How RowSet works java?
- java ee jdbc jstl servlet connection to db
- VSCode Libraries not showing for New Java Project
- Is there any guide online on how to correctly map the sakila database using Java and hibernate?
- Java cancel task running Oracle query through JDBC - connection broken because of SQLSTATE(08006), ErrorCode(17002) IO Error: Socket read interrupted
- Ibm Db2 Jdbc Connection
- How to connect to mysql inside a Kubernetes cluster?
- How to specify multiple databases when connecting to DolphinDB Server with JDBC interface?
- Connecting to MS SQL DB from Java thows error
- Access denied for user 'root'@'localhost' (using password: YES) in eclipse when connecting with jdbc
- databricks / pycharm sql connection
- How to correctly insert a jsonb into postgresql using a Java PreparedStatement
- How to query jsonb column with spring data
Related Questions in JTA
- Is there any possibility to use JTA with Spring Framework 6 and Tomcat or Payara?
- What is openliberty transaction manager backend routing?
- Hibernate executes update SQL statement but the update is not written to database
- Error initializing TransactionManager. Could not instantiate TransactionConfig
- Is calling method of EntityManager in a container-managed transaction context inside Servlet thread-safe?
- problematic read commited behavior - what should i expect?
- Handle transactions with BMT
- Implementing 2 phase commit in Websphere application server
- How to transactionally write a Kafka record and persist it using JDBC in Quarkus/Kotlin
- Why does @Transactional not work, but writing it manually does work
- EJB Hibernate Nested Transaction doesn't Roll Back despite I throw an Exception annotated with @ApplicationException(rollback=true)
- JaVers + Spring Boot 3 + JTA + Atomikos
- Distributed Transaction Handling on single Database (SpringBoot, JMS, JPA)
- Spring boot 3 with Atomikos
- What is the correct way to persist entities based on other entities being updated in the same transaction?
Related Questions in JCONNECT
- strange close_wait connection behavior using wildfly connection pool with sybase DB
- How to make Connection to sybase db not using jconnect4 in java
- Sql anywhere engine got crashed when i perform many execute update using jconn4 library from the android application
- jdk17 application not able to connect to sybase
- Not able to connect to sybase DB over TLS 1.2 using jConnect JDBC driver
- Cannot find the latest jconnect jar file for sybase drivers
- What is the difference between jconn4.jar and jconn42.jar?
- Can you connect to a Sybase database without metadata accessor information?
- Java and Jconn4 support for Sybase 16.3
- issue while executing Sybase procedure from JDBC
- Improper handling of extended ASCII characters with jdbc
- How to connect Sybase ASE with JDBC and SSL connection?
- jconnect 7.07 vs Jconnect 5 for ase 12.5
- Exception thrown at executeUpdate & DriverManager.getConnection
- jconn driver not respecting connection properties
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
MySQL's JDBC driver implements the Java JDBC API. The java.sql.Connection interface does not have a method to start a transaction.
A transaction begins implicitly when you execute an SQL query.
If the driver is in autocommit mode, the transaction is committed automatically once the SQL query finishes.
If the driver is not in autocommit mode, the transaction started by your query remains active until you call
Connection.commit()orConnection.rollback().See also How to start a transaction in JDBC?