Update/remove outdated JPA and Hibernate version references
Closes gh-27487
This commit is contained in:
parent
f32f04d841
commit
ac5dc698e2
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -51,21 +51,20 @@ import org.springframework.core.io.support.ResourcePatternUtils;
|
||||||
import org.springframework.core.task.AsyncTaskExecutor;
|
import org.springframework.core.task.AsyncTaskExecutor;
|
||||||
import org.springframework.core.type.filter.TypeFilter;
|
import org.springframework.core.type.filter.TypeFilter;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
import org.springframework.util.ClassUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link FactoryBean} that creates a Hibernate {@link SessionFactory}. This is the usual
|
* {@link FactoryBean} that creates a Hibernate {@link SessionFactory}. This is the usual
|
||||||
* way to set up a shared Hibernate SessionFactory in a Spring application context; the
|
* way to set up a shared Hibernate SessionFactory in a Spring application context; the
|
||||||
* SessionFactory can then be passed to data access objects via dependency injection.
|
* SessionFactory can then be passed to data access objects via dependency injection.
|
||||||
*
|
*
|
||||||
* <p>Compatible with Hibernate 5.2/5.3/5.4, as of Spring 5.3.
|
* <p>Compatible with Hibernate 5.5/5.6, as of Spring 6.0.
|
||||||
* This Hibernate-specific {@code LocalSessionFactoryBean} can be an immediate alternative
|
* This Hibernate-specific {@code LocalSessionFactoryBean} can be an immediate alternative
|
||||||
* to {@link org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean} for common
|
* to {@link org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean} for
|
||||||
* JPA purposes: In particular with Hibernate 5.3/5.4, the Hibernate {@code SessionFactory}
|
* common JPA purposes: The Hibernate {@code SessionFactory} will natively expose the JPA
|
||||||
* will natively expose the JPA {@code EntityManagerFactory} interface as well, and
|
* {@code EntityManagerFactory} interface as well, and Hibernate {@code BeanContainer}
|
||||||
* Hibernate {@code BeanContainer} integration will be registered out of the box.
|
* integration will be registered out of the box. In combination with
|
||||||
* In combination with {@link HibernateTransactionManager}, this naturally allows for
|
* {@link HibernateTransactionManager}, this naturally allows for mixing JPA access code
|
||||||
* mixing JPA access code with native Hibernate access code within the same transaction.
|
* with native Hibernate access code within the same transaction.
|
||||||
*
|
*
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @since 4.2
|
* @since 4.2
|
||||||
|
@ -469,17 +468,14 @@ public class LocalSessionFactoryBean extends HibernateExceptionTranslator
|
||||||
/**
|
/**
|
||||||
* Accept the containing {@link BeanFactory}, registering corresponding Hibernate
|
* Accept the containing {@link BeanFactory}, registering corresponding Hibernate
|
||||||
* {@link org.hibernate.resource.beans.container.spi.BeanContainer} integration for
|
* {@link org.hibernate.resource.beans.container.spi.BeanContainer} integration for
|
||||||
* it if possible. This requires a Spring {@link ConfigurableListableBeanFactory}
|
* it if possible. This requires a Spring {@link ConfigurableListableBeanFactory}.
|
||||||
* and Hibernate 5.3 or higher on the classpath.
|
|
||||||
* @since 5.1
|
* @since 5.1
|
||||||
* @see SpringBeanContainer
|
* @see SpringBeanContainer
|
||||||
* @see LocalSessionFactoryBuilder#setBeanContainer
|
* @see LocalSessionFactoryBuilder#setBeanContainer
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setBeanFactory(BeanFactory beanFactory) {
|
public void setBeanFactory(BeanFactory beanFactory) {
|
||||||
if (beanFactory instanceof ConfigurableListableBeanFactory &&
|
if (beanFactory instanceof ConfigurableListableBeanFactory) {
|
||||||
ClassUtils.isPresent("org.hibernate.resource.beans.container.spi.BeanContainer",
|
|
||||||
getClass().getClassLoader())) {
|
|
||||||
this.beanFactory = (ConfigurableListableBeanFactory) beanFactory;
|
this.beanFactory = (ConfigurableListableBeanFactory) beanFactory;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -77,12 +77,12 @@ import org.springframework.util.ClassUtils;
|
||||||
* Typically combined with {@link HibernateTransactionManager} for declarative
|
* Typically combined with {@link HibernateTransactionManager} for declarative
|
||||||
* transactions against the {@code SessionFactory} and its JDBC {@code DataSource}.
|
* transactions against the {@code SessionFactory} and its JDBC {@code DataSource}.
|
||||||
*
|
*
|
||||||
* <p>Compatible with Hibernate 5.2/5.3/5.4, as of Spring 5.3.
|
* <p>Compatible with Hibernate 5.5/5.6, as of Spring 6.0.
|
||||||
* This Hibernate-specific factory builder can also be a convenient way to set up
|
* This Hibernate-specific factory builder can also be a convenient way to set up
|
||||||
* a JPA {@code EntityManagerFactory} since the Hibernate {@code SessionFactory}
|
* a JPA {@code EntityManagerFactory} since the Hibernate {@code SessionFactory}
|
||||||
* natively exposes the JPA {@code EntityManagerFactory} interface as well now.
|
* natively exposes the JPA {@code EntityManagerFactory} interface as well now.
|
||||||
*
|
*
|
||||||
* <p>This builder supports Hibernate 5.3/5.4 {@code BeanContainer} integration,
|
* <p>This builder supports Hibernate {@code BeanContainer} integration,
|
||||||
* {@link MetadataSources} from custom {@link BootstrapServiceRegistryBuilder}
|
* {@link MetadataSources} from custom {@link BootstrapServiceRegistryBuilder}
|
||||||
* setup, as well as other advanced Hibernate configuration options beyond the
|
* setup, as well as other advanced Hibernate configuration options beyond the
|
||||||
* standard JPA bootstrap contract.
|
* standard JPA bootstrap contract.
|
||||||
|
@ -221,8 +221,7 @@ public class LocalSessionFactoryBuilder extends Configuration {
|
||||||
/**
|
/**
|
||||||
* Set a Hibernate {@link org.hibernate.resource.beans.container.spi.BeanContainer}
|
* Set a Hibernate {@link org.hibernate.resource.beans.container.spi.BeanContainer}
|
||||||
* for the given Spring {@link ConfigurableListableBeanFactory}.
|
* for the given Spring {@link ConfigurableListableBeanFactory}.
|
||||||
* <p>Note: Bean container integration requires Hibernate 5.3 or higher.
|
* <p>This enables autowiring of Hibernate attribute converters and entity listeners.
|
||||||
* It enables autowiring of Hibernate attribute converters and entity listeners.
|
|
||||||
* @since 5.1
|
* @since 5.1
|
||||||
* @see SpringBeanContainer
|
* @see SpringBeanContainer
|
||||||
* @see AvailableSettings#BEAN_CONTAINER
|
* @see AvailableSettings#BEAN_CONTAINER
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -34,7 +34,7 @@ import org.springframework.util.Assert;
|
||||||
import org.springframework.util.ConcurrentReferenceHashMap;
|
import org.springframework.util.ConcurrentReferenceHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spring's implementation of Hibernate 5.3's {@link BeanContainer} SPI,
|
* Spring's implementation of Hibernate's {@link BeanContainer} SPI,
|
||||||
* delegating to a Spring {@link ConfigurableListableBeanFactory}.
|
* delegating to a Spring {@link ConfigurableListableBeanFactory}.
|
||||||
*
|
*
|
||||||
* <p>Auto-configured by {@link LocalSessionFactoryBean#setBeanFactory},
|
* <p>Auto-configured by {@link LocalSessionFactoryBean#setBeanFactory},
|
||||||
|
@ -62,10 +62,10 @@ import org.springframework.util.ConcurrentReferenceHashMap;
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* Please note that Spring's {@link LocalSessionFactoryBean} is an immediate alternative
|
* Please note that Spring's {@link LocalSessionFactoryBean} is an immediate alternative
|
||||||
* to {@link org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean} for common
|
* to {@link org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean} for
|
||||||
* JPA purposes: In particular with Hibernate 5.3/5.4, the Hibernate {@code SessionFactory}
|
* common JPA purposes: The Hibernate {@code SessionFactory} will natively expose the JPA
|
||||||
* will natively expose the JPA {@code EntityManagerFactory} interface as well, and
|
* {@code EntityManagerFactory} interface as well, and Hibernate {@code BeanContainer}
|
||||||
* Hibernate {@code BeanContainer} integration will be registered out of the box.
|
* integration will be registered out of the box.
|
||||||
*
|
*
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @since 5.1
|
* @since 5.1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2017 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -36,8 +36,6 @@ import org.springframework.transaction.TransactionException;
|
||||||
* <p>Simply begins a standard JPA transaction in {@link #beginTransaction} and
|
* <p>Simply begins a standard JPA transaction in {@link #beginTransaction} and
|
||||||
* performs standard exception translation through {@link EntityManagerFactoryUtils}.
|
* performs standard exception translation through {@link EntityManagerFactoryUtils}.
|
||||||
*
|
*
|
||||||
* <p><b>NOTE: Spring's JPA support requires JPA 2.1 or higher, as of Spring 5.0.</b>
|
|
||||||
*
|
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
* @see JpaTransactionManager#setJpaDialect
|
* @see JpaTransactionManager#setJpaDialect
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -333,7 +333,7 @@ public abstract class EntityManagerFactoryUtils {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apply the current transaction timeout, if any, to the given JPA Query object.
|
* Apply the current transaction timeout, if any, to the given JPA Query object.
|
||||||
* <p>This method sets the JPA 2.0 query hint "jakarta.persistence.query.timeout" accordingly.
|
* <p>This method sets the JPA query hint "jakarta.persistence.query.timeout" accordingly.
|
||||||
* @param query the JPA Query object
|
* @param query the JPA Query object
|
||||||
* @param emf the JPA EntityManagerFactory that the Query was created for
|
* @param emf the JPA EntityManagerFactory that the Query was created for
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2017 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -28,7 +28,7 @@ import org.springframework.transaction.TransactionDefinition;
|
||||||
import org.springframework.transaction.TransactionException;
|
import org.springframework.transaction.TransactionException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SPI strategy that encapsulates certain functionality that standard JPA 2.1 does
|
* SPI strategy that encapsulates certain functionality that standard JPA 3.0 does
|
||||||
* not offer, such as access to the underlying JDBC Connection. This strategy is
|
* not offer, such as access to the underlying JDBC Connection. This strategy is
|
||||||
* mainly intended for standalone usage of a JPA provider; most of its functionality
|
* mainly intended for standalone usage of a JPA provider; most of its functionality
|
||||||
* is not relevant when running with JTA transactions.
|
* is not relevant when running with JTA transactions.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2018 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -70,10 +70,6 @@ import org.springframework.util.ClassUtils;
|
||||||
* plus the {@link EntityManagerFactoryInfo} interface which exposes additional
|
* plus the {@link EntityManagerFactoryInfo} interface which exposes additional
|
||||||
* metadata as assembled by this FactoryBean.
|
* metadata as assembled by this FactoryBean.
|
||||||
*
|
*
|
||||||
* <p><b>NOTE: Spring's JPA support requires JPA 2.1 or higher, as of Spring 5.0.</b>
|
|
||||||
* JPA 1.0/2.0 based applications are still supported; however, a JPA 2.1 compliant
|
|
||||||
* persistence provider is needed at runtime.
|
|
||||||
*
|
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @author Rod Johnson
|
* @author Rod Johnson
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2018 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -52,10 +52,6 @@ import jakarta.persistence.spi.PersistenceProvider;
|
||||||
* to the JPA provider, consider using Spring's more powerful
|
* to the JPA provider, consider using Spring's more powerful
|
||||||
* {@link LocalContainerEntityManagerFactoryBean} instead.
|
* {@link LocalContainerEntityManagerFactoryBean} instead.
|
||||||
*
|
*
|
||||||
* <p><b>NOTE: Spring's JPA support requires JPA 2.1 or higher, as of Spring 5.0.</b>
|
|
||||||
* JPA 1.0/2.0 based applications are still supported; however, a JPA 2.1 compliant
|
|
||||||
* persistence provider is needed at runtime.
|
|
||||||
*
|
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @author Rod Johnson
|
* @author Rod Johnson
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -77,8 +77,6 @@ import org.springframework.util.ResourceUtils;
|
||||||
* DataSource names are by default interpreted as JNDI names, and no load time weaving
|
* DataSource names are by default interpreted as JNDI names, and no load time weaving
|
||||||
* is available (which requires weaving to be turned off in the persistence provider).
|
* is available (which requires weaving to be turned off in the persistence provider).
|
||||||
*
|
*
|
||||||
* <p><b>NOTE: Spring's JPA support requires JPA 2.1 or higher, as of Spring 5.0.</b>
|
|
||||||
*
|
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @author Stephane Nicoll
|
* @author Stephane Nicoll
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -88,7 +88,7 @@ public abstract class AbstractJpaVendorAdapter implements JpaVendorAdapter {
|
||||||
* <p>Note that the exact semantics of this flag depend on the underlying
|
* <p>Note that the exact semantics of this flag depend on the underlying
|
||||||
* persistence provider. For any more advanced needs, specify the appropriate
|
* persistence provider. For any more advanced needs, specify the appropriate
|
||||||
* vendor-specific settings as "jpaProperties".
|
* vendor-specific settings as "jpaProperties".
|
||||||
* <p><b>NOTE: Do not set this flag to 'true' while also setting JPA 2.1's
|
* <p><b>NOTE: Do not set this flag to 'true' while also setting JPA's
|
||||||
* {@code jakarta.persistence.schema-generation.database.action} property.</b>
|
* {@code jakarta.persistence.schema-generation.database.action} property.</b>
|
||||||
* These two schema generation mechanisms - standard JPA versus provider-native -
|
* These two schema generation mechanisms - standard JPA versus provider-native -
|
||||||
* are mutually exclusive, e.g. with Hibernate 5.
|
* are mutually exclusive, e.g. with Hibernate 5.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -73,7 +73,7 @@ import org.springframework.transaction.support.ResourceTransactionDefinition;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link org.springframework.orm.jpa.JpaDialect} implementation for
|
* {@link org.springframework.orm.jpa.JpaDialect} implementation for
|
||||||
* Hibernate EntityManager. Developed against Hibernate 5.2/5.3/5.4.
|
* Hibernate EntityManager.
|
||||||
*
|
*
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @author Costin Leau
|
* @author Costin Leau
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2002-2020 the original author or authors.
|
* Copyright 2002-2021 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -44,8 +44,7 @@ import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link org.springframework.orm.jpa.JpaVendorAdapter} implementation for Hibernate
|
* {@link org.springframework.orm.jpa.JpaVendorAdapter} implementation for Hibernate
|
||||||
* EntityManager. Developed and tested against Hibernate 5.3 and 5.4;
|
* EntityManager.
|
||||||
* backwards-compatible with Hibernate 5.2 at runtime on a best-effort basis.
|
|
||||||
*
|
*
|
||||||
* <p>Exposes Hibernate's persistence provider and Hibernate's Session as extended
|
* <p>Exposes Hibernate's persistence provider and Hibernate's Session as extended
|
||||||
* EntityManager interface, and adapts {@link AbstractJpaVendorAdapter}'s common
|
* EntityManager interface, and adapts {@link AbstractJpaVendorAdapter}'s common
|
||||||
|
|
Loading…
Reference in New Issue