java - Spring transaction management. NoRollbackFor not working -


i've got 1 springboot enabled app following setup:

@configuration class annotated @enabletransactionmanagement

transactionmanager defined somewhere in @configuration class:

  @bean         public platformtransactionmanager transactionmanager() {             return new jpatransactionmanager();         } 

@controller class:

    @requestmapping(method = requestmethod.delete, value = "/{entityid}")     @transactional(norollbackfor = dataintegrityviolationexception.class)     public responseentity<deleteentityresponse> deleteentity(@pathvariable @notnull long entityid) {         t existing = getrepository().findone(entityid);         try {             repository.delete(existing);             repository.flush();             deleteentityresponse.setdeleted(true);         } catch (final dataintegrityviolationexception ex) {             entitymanager.detach(existing);              deleteentityresponse.seterrormessage("general.error.delete.dataintegrityviolationexception");     }          return new responseentity<>(deleteentityresponse,                 deleteentityresponse.isdeleted()                         ? httpstatus.ok                         : httpstatus.method_not_allowed);     } 

later in same controller class i've defined exception handling method:

 @exceptionhandler     public responseentity<errorresponse> handleallsortsofexceptions(exception exception) { } 

i'm expecting when try delete entity , operation fails dataintegrityviolationexception responseentity<deleteentityresponse>, instead i'm getting responseentity<errorresponse>.

responseentity<errorresponse> returned through handleallsortsofexceptions() method. , being called org.springframework.transaction.transactionsystemexception: not commit jpa transaction; nested exception javax.persistence.rollbackexception: transaction marked rollbackonly.

my question - how configure transaction management understands @transactional annotations?


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -