org.springframework.orm.jpa.vendor

## Class AbstractJpaVendorAdapter

- java.lang.Object
- - org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter

- All Implemented Interfaces:
    JpaVendorAdapter
  Direct Known Subclasses:
    EclipseLinkJpaVendorAdapter, HibernateJpaVendorAdapter, OpenJpaVendorAdapter, TopLinkJpaVendorAdapter

      public abstract class AbstractJpaVendorAdapter
      extends Object
      implements JpaVendorAdapter

  Abstract `JpaVendorAdapter` implementation that defines common properties, to be translated into vendor-specific JPA properties by concrete subclasses.
  Since:
    2.0
  Author:
    Juergen Hoeller, Rod Johnson

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractJpaVendorAdapter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected Database` | `getDatabase()` Return the target database to operate on.
    `protected String` | `getDatabasePlatform()` Return the name of the target database to operate on.
    `Class<? extends EntityManagerFactory>` | `getEntityManagerFactoryInterface()` Return the vendor-specific EntityManagerFactory interface that the EntityManagerFactory proxy is supposed to implement.
    `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.
    `Map<String,?>` | `getJpaPropertyMap()` Return a Map of vendor-specific JPA properties, typically based on settings in this JpaVendorAdapter instance.
    `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)` Post-process the EntityManagerFactory after it has been initialized.
    `void` | `setDatabase(Database database)` Specify the target database to operate on, as a value of the `Database` enum: DB2, DERBY, H2, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE
    `void` | `setDatabasePlatform(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`

    - ### Methods inherited from interface org.springframework.orm.jpa.JpaVendorAdapter

      `getPersistenceProvider`

- - ### 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, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE

    - #### getDatabase

          protected Database getDatabase()

      Return the target database to operate on.

    - #### setDatabasePlatform

          public void setDatabasePlatform(String databasePlatform)

      Specify the name of the target database to operate on. The supported values are vendor-dependent platform identifiers.

    - #### getDatabasePlatform

          protected 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".

      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.

    - #### setShowSql

          public void setShowSql(boolean showSql)

      Set whether to show SQL in the log (or in the console).

      For more specific logging configuration, specify the appropriate vendor-specific settings as "jpaProperties".

      See Also:
        `AbstractEntityManagerFactoryBean.setJpaProperties(java.util.Properties)`

    - #### isShowSql

          protected boolean isShowSql()

      Return whether to show SQL in the log (or in the console).

    - #### getPersistenceProviderRootPackage

          public 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 Map<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 as accepted by the standard JPA bootstrap facilities, or `null` or an empty Map if there are no such properties to expose
      See Also:
        `Persistence.createEntityManagerFactory(String, java.util.Map)`, `PersistenceProvider.createContainerEntityManagerFactory(javax.persistence.spi.PersistenceUnitInfo, java.util.Map)`

    - #### getJpaDialect

          public JpaDialect getJpaDialect()

      Description copied from interface: `JpaVendorAdapter`
      Return the vendor-specific JpaDialect implementation for this provider, or `null` if there is none.
      Specified by:
        `getJpaDialect` in interface `JpaVendorAdapter`

    - #### getEntityManagerFactoryInterface

          public 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 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)

      Post-process the EntityManagerFactory after it has been initialized.
      Specified by:
        `postProcessEntityManagerFactory` in interface `JpaVendorAdapter`
      Parameters:
        `emf` - the EntityManagerFactory to process