Class BroadleafDialectFactoryInitiator
java.lang.Object
com.broadleafcommerce.common.jpa.data.dialect.BroadleafDialectFactoryInitiator
- All Implemented Interfaces:
org.hibernate.boot.registry.StandardServiceInitiator<org.hibernate.engine.jdbc.dialect.spi.DialectFactory>,org.hibernate.service.spi.ServiceInitiator<org.hibernate.engine.jdbc.dialect.spi.DialectFactory>
public class BroadleafDialectFactoryInitiator
extends Object
implements org.hibernate.boot.registry.StandardServiceInitiator<org.hibernate.engine.jdbc.dialect.spi.DialectFactory>
A Hibernate service initiator that registers a custom
DialectFactory within Hibernate's
standard service registry.
This initiator intercepts the creation of the active Dialect by
wrapping the default Hibernate DialectFactoryImpl. When a dialect is built, it is
automatically passed through
BroadleafDialectEnhancer.enhance(org.hibernate.dialect.Dialect) to dynamically decorate
or subclass it at runtime.
- See Also:
-
StandardServiceInitiatorDialectFactoryBroadleafDialectEnhancer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClass<org.hibernate.engine.jdbc.dialect.spi.DialectFactory>Declares the type of Hibernate service initiated by this class.org.hibernate.engine.jdbc.dialect.spi.DialectFactoryinitiateService(Map<String, Object> configurationValues, org.hibernate.service.spi.ServiceRegistryImplementor registry) Initiates the customDialectFactoryservice by retrieving and wrapping Hibernate's standard dialect factory initiator.
-
Constructor Details
-
BroadleafDialectFactoryInitiator
public BroadleafDialectFactoryInitiator()
-
-
Method Details
-
getServiceInitiated
Declares the type of Hibernate service initiated by this class.- Specified by:
getServiceInitiatedin interfaceorg.hibernate.service.spi.ServiceInitiator<org.hibernate.engine.jdbc.dialect.spi.DialectFactory>- Returns:
- the
DialectFactoryclass reference
-
initiateService
public org.hibernate.engine.jdbc.dialect.spi.DialectFactory initiateService(Map<String, Object> configurationValues, org.hibernate.service.spi.ServiceRegistryImplementor registry) Initiates the customDialectFactoryservice by retrieving and wrapping Hibernate's standard dialect factory initiator.The default Hibernate
DialectFactoryImplis first initiated, injected with service registry dependencies, and then decorated with a lambda delegate that interceptsbuildDialectcalls to enhance the resolved dialect using ByteBuddy viaBroadleafDialectEnhancer.enhance(org.hibernate.dialect.Dialect).- Specified by:
initiateServicein interfaceorg.hibernate.boot.registry.StandardServiceInitiator<org.hibernate.engine.jdbc.dialect.spi.DialectFactory>- Parameters:
configurationValues- the configuration settings mapregistry- the Hibernate service registry implementor- Returns:
- the wrapped
DialectFactoryservice instance
-