Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others


0 votes
in Technique[技术] by (71.8m points)

hibernate - Exception handling in Spring Boot with JPA

I've made a class that is annotated with @ControllerAdvice to catch Exceptions.

When I do get a TransactionSystemException because I do not match my bean validation I want to know which values of my model are not correct. This is my method:

@ExceptionHandler(value = {TransactionSystemException.class})
  public ResponseEntity<Object> handleTransactionSystemException(
      TransactionSystemException transactionSystemException) {
        "Error in Hibernate transaction: "
            + transactionSystemException.getRootCause().getMessage());
    return new ResponseEntity<>(
        transactionSystemException.getRootCause().getMessage(), HttpStatus.BAD_REQUEST);

My console output will be:

List of constraint violations:[
    ConstraintViolationImpl{interpolatedMessage='Description must be between 10 and 1000 characters', propertyPath=description, rootBeanClass=class edu.fontys.cdb.models.AccountabilityModel, messageTemplate='Description must be between 10 and 1000 characters'}

But there might be a scenario that contains two constraint violations. Am I approaching this in the correct way?

Code of my method that throws the error:

public AccountabilityModel saveAccountabilityModel(AccountabilityModel accountabilityModel)
      throws IllegalArgumentException, ConstraintViolationException, TransactionSystemException {

    if (accountabilityModel == null) {
      throw new IllegalArgumentException("Verantwoordingsmodel heeft de waarde NULL.");

    return accountabilityModelDAO.saveEducationModel(accountabilityModel);

Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share