Win a copy of Kubernetes in Action this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

mybatis autocommit always committing even when false  RSS feed

Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I'm trying to get my code to perform a number of inserts and commit at the very end if they all were successful. Here are the relevant mybatis config specs:

And here is a rough outline of the code:

session = sqlSessionFactory.openSession(false);

... insert A, insert B, insert C ...


...unless there is an exception...


However, when I try to call the session.commit(); it gives this error: "Operation Connection.commit is not allowed during a global transaction." and then when I check the table, the record is there. So it seems to have autocommitted.

I've tried setting <transactionManager type="EXTERNAL"> and it says it doesn't know what external is. If I set session = sqlSessionFactory.openSession(true); then I don't get an exception, but then it autocommits. What I am trying to do is to get it to only commit when I call session.commit() and then not commit anything if there is an exception and I call the rollback. Any help would be appreciated.

  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!