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 18 import org.springframework.dao.UncategorizedDataAccessException; 19 20 /** 21 * MyBatis specific subclass of {@code UncategorizedDataAccessException}, for MyBatis system errors that do not match 22 * any concrete {@code org.springframework.dao} exceptions. 23 * <p> 24 * In MyBatis 3 {@code org.apache.ibatis.exceptions.PersistenceException} is a {@code RuntimeException}, but using this 25 * wrapper class to bring everything under a single hierarchy will be easier for client code to handle. 26 * 27 * @author Hunter Presnall 28 */ 29 @SuppressWarnings("squid:MaximumInheritanceDepth") // It is the intended design 30 public class MyBatisSystemException extends UncategorizedDataAccessException { 31 32 private static final long serialVersionUID = -5284728621670758939L; 33 34 @Deprecated(since = "3.0.4", forRemoval = true) 35 public MyBatisSystemException(Throwable cause) { 36 this(cause.getMessage(), cause); 37 } 38 39 public MyBatisSystemException(String msg, Throwable cause) { 40 super(msg, cause); 41 } 42 43 }