Add support for advanced customization of Hibernate settings
As HibernateJpaConfiguration is package private, it is no longer possible to extend the default Spring Boot configuration to apply advanced settings. The most notable use case for this is the customization of Hibernate properties using instance value vs. string value that can be set using the "spring.jpa.properties" namespace. This commit adds a HibernatePropertiesCustomizer callback interface that can be implemented to tune Hibernate properties at will. Closes gh-11211pull/11492/merge
parent
268b97bf98
commit
59d5ed5842
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright 2012-2018 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.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.autoconfigure.orm.jpa;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Callback interface that can be implemented by beans wishing to customize the Hibernate
|
||||
* properties before it is used by an auto-configured {@code EntityManagerFactory}.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface HibernatePropertiesCustomizer {
|
||||
|
||||
/**
|
||||
* Customize the specified JPA vendor properties.
|
||||
* @param hibernateProperties the current JPA vendor properties
|
||||
*/
|
||||
void customize(Map<String, Object> hibernateProperties);
|
||||
|
||||
}
|
Loading…
Reference in New Issue