org.springframework.orm.jpa.vendor

Class AbstractJpaVendorAdapter

  • java.lang.Object
    • org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      protected Database getDatabase()
      Return the target database to operate on.
      protected java.lang.String getDatabasePlatform()
      Return the name of the target database to operate on.
      java.lang.Class<? extends EntityManagerFactory> getEntityManagerFactoryInterface()
      Return the vendor-specific EntityManagerFactory interface that the EntityManagerFactory proxy is supposed to implement.
      java.lang.Class<? extends EntityManager> getEntityManagerInterface()
      Return the vendor-specific EntityManager interface that this provider's EntityManagers will implement.
      JpaDialect getJpaDialect()
      Return the vendor-specific JpaDialect implementation for this provider, or null if there is none.
      java.util.Map<java.lang.String,?> getJpaPropertyMap()
      Return a Map of vendor-specific JPA properties, typically based on settings in this JpaVendorAdapter instance.
      java.util.Map<java.lang.String,?> getJpaPropertyMap(PersistenceUnitInfo pui)
      Return a Map of vendor-specific JPA properties for the given persistence unit, typically based on settings in this JpaVendorAdapter instance.
      java.lang.String getPersistenceProviderRootPackage()
      Return the name of the persistence provider's root package (e.g.
      protected boolean isGenerateDdl()
      Return whether to generate DDL after the EntityManagerFactory has been initialized creating/updating all relevant tables.
      protected boolean isShowSql()
      Return whether to show SQL in the log (or in the console).
      void postProcessEntityManagerFactory(EntityManagerFactory emf)
      Optional callback for post-processing the native EntityManagerFactory before active use.
      void setDatabase(Database database)
      Specify the target database to operate on, as a value of the Database enum: DB2, DERBY, H2, HANA, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE
      void setDatabasePlatform(java.lang.String databasePlatform)
      Specify the name of the target database to operate on.
      void setGenerateDdl(boolean generateDdl)
      Set whether to generate DDL after the EntityManagerFactory has been initialized, creating/updating all relevant tables.
      void setShowSql(boolean showSql)
      Set whether to show SQL in the log (or in the console).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractJpaVendorAdapter

        public AbstractJpaVendorAdapter()
    • Method Detail

      • setDatabase

        public void setDatabase(Database database)
        Specify the target database to operate on, as a value of the Database enum: DB2, DERBY, H2, HANA, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE

        NOTE: This setting will override your JPA provider's default algorithm. Custom vendor properties may still fine-tune the database dialect. However, there may nevertheless be conflicts: For example, specify either this setting or Hibernate's "hibernate.dialect_resolvers" property, not both.

      • getDatabase

        protected Database getDatabase()
        Return the target database to operate on.
      • setDatabasePlatform

        public void setDatabasePlatform(@Nullable
                                        java.lang.String databasePlatform)
        Specify the name of the target database to operate on. The supported values are vendor-dependent platform identifiers.
      • getDatabasePlatform

        @Nullable
        protected java.lang.String getDatabasePlatform()
        Return the name of the target database to operate on.
      • setGenerateDdl

        public void setGenerateDdl(boolean generateDdl)
        Set whether to generate DDL after the EntityManagerFactory has been initialized, creating/updating all relevant tables.

        Note that the exact semantics of this flag depend on the underlying persistence provider. For any more advanced needs, specify the appropriate vendor-specific settings as "jpaProperties".

        NOTE: Do not set this flag to 'true' while also setting JPA 2.1's javax.persistence.schema-generation.database.action property. These two schema generation mechanisms - standard JPA versus provider-native - are mutually exclusive, e.g. with Hibernate 5.

        See Also:
        AbstractEntityManagerFactoryBean.setJpaProperties(java.util.Properties)
      • isGenerateDdl

        protected boolean isGenerateDdl()
        Return whether to generate DDL after the EntityManagerFactory has been initialized creating/updating all relevant tables.
      • isShowSql

        protected boolean isShowSql()
        Return whether to show SQL in the log (or in the console).
      • getPersistenceProviderRootPackage

        @Nullable
        public java.lang.String getPersistenceProviderRootPackage()
        Description copied from interface: JpaVendorAdapter
        Return the name of the persistence provider's root package (e.g. "oracle.toplink.essentials"). Will be used for excluding provider classes from temporary class overriding.
        Specified by:
        getPersistenceProviderRootPackage in interface JpaVendorAdapter
      • getJpaPropertyMap

        public java.util.Map<java.lang.String,?> getJpaPropertyMap()
        Description copied from interface: JpaVendorAdapter
        Return a Map of vendor-specific JPA properties, typically based on settings in this JpaVendorAdapter instance.

        Note that there might be further JPA properties defined on the EntityManagerFactory bean, which might potentially override individual JPA property values specified here.

        Specified by:
        getJpaPropertyMap in interface JpaVendorAdapter
        Returns:
        a Map of JPA properties, as accepted by the standard JPA bootstrap facilities, or an empty Map if there are no properties to expose
        See Also:
        Persistence.createEntityManagerFactory(String, Map)
      • getEntityManagerFactoryInterface

        public java.lang.Class<? extends EntityManagerFactory> getEntityManagerFactoryInterface()
        Description copied from interface: JpaVendorAdapter
        Return the vendor-specific EntityManagerFactory interface that the EntityManagerFactory proxy is supposed to implement.

        If the provider does not offer any EntityManagerFactory extensions, the adapter should simply return the standard EntityManagerFactory class here.

        Specified by:
        getEntityManagerFactoryInterface in interface JpaVendorAdapter
      • getEntityManagerInterface

        public java.lang.Class<? extends EntityManager> getEntityManagerInterface()
        Description copied from interface: JpaVendorAdapter
        Return the vendor-specific EntityManager interface that this provider's EntityManagers will implement.

        If the provider does not offer any EntityManager extensions, the adapter should simply return the standard EntityManager class here.

        Specified by:
        getEntityManagerInterface in interface JpaVendorAdapter
      • postProcessEntityManagerFactory

        public void postProcessEntityManagerFactory(EntityManagerFactory emf)
        Description copied from interface: JpaVendorAdapter
        Optional callback for post-processing the native EntityManagerFactory before active use.

        This can be used for triggering vendor-specific initialization processes. While this is not expected to be used for most providers, it is included here as a general extension hook.

        Specified by:
        postProcessEntityManagerFactory in interface JpaVendorAdapter