org.springframework.orm.jpa.vendor
Class EclipseLinkJpaVendorAdapter

java.lang.Object
  extended by org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter
      extended by org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter
All Implemented Interfaces:
JpaVendorAdapter

public class EclipseLinkJpaVendorAdapter
extends AbstractJpaVendorAdapter

JpaVendorAdapter implementation for Eclipse Persistence Services (EclipseLink). Developed and tested against EclipseLink 1.0.

Exposes EclipseLink's persistence provider and EntityManager extension interface, and supports AbstractJpaVendorAdapter's common configuration settings.

This class is very analogous to TopLinkJpaVendorAdapter, since EclipseLink is effectively the next generation of the TopLink product. Thanks to Mike Keith for the original EclipseLink support prototype!

Since:
2.5.2
Author:
Juergen Hoeller
See Also:
PersistenceProvider, JpaEntityManager

Constructor Summary
EclipseLinkJpaVendorAdapter()
           
 
Method Summary
protected  String determineTargetDatabaseName(Database database)
          Determine the EclipseLink target database name for the given database.
 Class<? extends javax.persistence.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,Object> getJpaPropertyMap()
          Return a Map of vendor-specific JPA properties, typically based on settings in this JpaVendorAdapter instance.
 javax.persistence.spi.PersistenceProvider getPersistenceProvider()
          Return the vendor-specific persistence provider.
 String getPersistenceProviderRootPackage()
          Return the name of the persistence provider's root package (e.g.
 
Methods inherited from class org.springframework.orm.jpa.vendor.AbstractJpaVendorAdapter
getDatabase, getDatabasePlatform, getEntityManagerFactoryInterface, isGenerateDdl, isShowSql, postProcessEntityManagerFactory, setDatabase, setDatabasePlatform, setGenerateDdl, setShowSql
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EclipseLinkJpaVendorAdapter

public EclipseLinkJpaVendorAdapter()
Method Detail

getPersistenceProvider

public javax.persistence.spi.PersistenceProvider getPersistenceProvider()
Description copied from interface: JpaVendorAdapter
Return the vendor-specific persistence provider.


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
Overrides:
getPersistenceProviderRootPackage in class AbstractJpaVendorAdapter

getJpaPropertyMap

public Map<String,Object> 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
Overrides:
getJpaPropertyMap in class AbstractJpaVendorAdapter
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)

determineTargetDatabaseName

protected String determineTargetDatabaseName(Database database)
Determine the EclipseLink target database name for the given database.

Parameters:
database - the specified database
Returns:
the EclipseLink target database name, or null if none found

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
Overrides:
getJpaDialect in class AbstractJpaVendorAdapter

getEntityManagerInterface

public Class<? extends javax.persistence.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
Overrides:
getEntityManagerInterface in class AbstractJpaVendorAdapter