Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8570775
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T18:38:05+00:00 2026-06-11T18:38:05+00:00

My problem is simple, I want to rollback all the db changes that were

  • 0

My problem is simple, I want to rollback all the db changes that were caused by invocation of my service method. I have a problem with correct annotating. I’m not really sure where to put @Transactional and where should I set Propagation to REQUIRES_NEW or MANDATORY. I will paste a code that I wrote, which apart from the fact that SQLException is thrown does not rollback db changes.

The code:

@Service
public class SwapInsertService {

    @Autowired
    MyDao myDao;

    @Transactional(propagation = Propagation.REQURIES_NEW, rollbackFor = SQLException.class)
    public void insertToManyTables(MyData data) throws SQLException {

        insertToSpecificTables(data);
        myDao.insertTwo(data);
    }

    @Transactional(propagation = Propagation.MANDATORY)
    public void insertToSpecificTables(MyData data) throws SQLException {

        myDao.insertOne(data);
    }
}

@Repository
public class MyDaoImpl implements MyDao {

    @Transactional(propagation = Propagation.MANDATORY)
    public void insertOne(MyData data) throws SQLException {

        // INSERT
    }

    @Transactional(propagation = Propagation.MANDATORY)
    public void insertTwo(MyData data) throws SQLException {

        // throws SQLException 
    }
}

Let’s assume insertTwo throws SQLException . I would like to rollback all the previous inserts. What am I doing wrong?

My understanding:

Propagation.REQURIES_NEW creates new transaction.
Propagation.MANDATORY supports current transaction.

insertTwo throws error, insertToManyTables rollbacks everything and voilà. Unfortunately it is not that easy.

EDIT: It’s important to mention that i’m using CGLIB for proxies.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-11T18:38:06+00:00Added an answer on June 11, 2026 at 6:38 pm

    Check whether AUTO_COMMIT is set to false in data source configuration in spring specific xml

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

My problem is simple: I have a long list of elements that I want
I have a simple problem: I want to construct a regex that matches a
I have a simple problem. I want to delete all app request sent via
Very simple problem: I have a Public Sub (in a module) that I want
I hope this is a simple problem. I have a seekbar that I want
I have the simple problem here. I have two CAF files. All I want
I have a simple problem. I want to decorate the SqlDataReader class so that
Simple problem (I think): I want to be able to invoke a click method
I have a simple animation the problem is I want the animation to end
I have a simple problem: I want to configure an object differently based on

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.