MyBatisSystemException.java

  1. /*
  2.  * Copyright 2010-2023 the original author or authors.
  3.  *
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  *
  8.  *    https://www.apache.org/licenses/LICENSE-2.0
  9.  *
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  */
  16. package org.mybatis.spring;

  17. import org.springframework.dao.UncategorizedDataAccessException;

  18. /**
  19.  * MyBatis specific subclass of {@code UncategorizedDataAccessException}, for MyBatis system errors that do not match
  20.  * any concrete {@code org.springframework.dao} exceptions.
  21.  * <p>
  22.  * In MyBatis 3 {@code org.apache.ibatis.exceptions.PersistenceException} is a {@code RuntimeException}, but using this
  23.  * wrapper class to bring everything under a single hierarchy will be easier for client code to handle.
  24.  *
  25.  * @author Hunter Presnall
  26.  */
  27. @SuppressWarnings("squid:MaximumInheritanceDepth") // It is the intended design
  28. public class MyBatisSystemException extends UncategorizedDataAccessException {

  29.   private static final long serialVersionUID = -5284728621670758939L;

  30.   @Deprecated(since = "3.0.4", forRemoval = true)
  31.   public MyBatisSystemException(Throwable cause) {
  32.     this(cause.getMessage(), cause);
  33.   }

  34.   public MyBatisSystemException(String msg, Throwable cause) {
  35.     super(msg, cause);
  36.   }

  37. }