提交 19546708 编写于 作者: J Juergen Hoeller

Drop JpaSystemException(PersistenceException) constructor to avoid ambiguity...

Drop JpaSystemException(PersistenceException) constructor to avoid ambiguity in HibernateJpaVendorAdapter

Hibernate 5.2's HibernateException extends PersistenceException, leading to a different constructor compiled into the bytecode, breaking compatibility with Hibernate 5.0 at runtime.

Issue: SPR-13827
上级 e4def2f5
......@@ -16,7 +16,6 @@
package org.springframework.orm.jpa;
import java.lang.reflect.Method;
import java.util.Map;
import javax.persistence.EntityExistsException;
import javax.persistence.EntityManager;
......@@ -52,9 +51,7 @@ import org.springframework.jdbc.datasource.DataSourceUtils;
import org.springframework.transaction.support.ResourceHolderSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ReflectionUtils;
import org.springframework.util.StringUtils;
/**
......@@ -395,7 +392,7 @@ public abstract class EntityManagerFactoryUtils {
// If we have another kind of PersistenceException, throw it.
if (ex instanceof PersistenceException) {
return new JpaSystemException((PersistenceException) ex);
return new JpaSystemException(ex);
}
// If we get here, we have an exception that resulted from user code,
......
/*
* Copyright 2002-2012 the original author or authors.
* Copyright 2002-2016 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -16,8 +16,6 @@
package org.springframework.orm.jpa;
import javax.persistence.PersistenceException;
import org.springframework.dao.UncategorizedDataAccessException;
/**
......@@ -32,10 +30,6 @@ import org.springframework.dao.UncategorizedDataAccessException;
@SuppressWarnings("serial")
public class JpaSystemException extends UncategorizedDataAccessException {
public JpaSystemException(PersistenceException ex) {
super(ex.getMessage(), ex);
}
public JpaSystemException(RuntimeException ex) {
super(ex.getMessage(), ex);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册