org.springframework.orm.jpa.vendor
Class HibernateJpaVendorAdapter

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

public class HibernateJpaVendorAdapter
extends AbstractJpaVendorAdapter

JpaVendorAdapter implementation for Hibernate EntityManager. Developed and tested against Hibernate 3.3.

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

Since:
2.0
Author:
Juergen Hoeller, Rod Johnson
See Also:
HibernatePersistence, HibernateEntityManager

Constructor Summary
HibernateJpaVendorAdapter()
           
 
Method Summary
protected  Class determineDatabaseDialectClass(Database database)
          Determine the Hibernate database dialect class for the given target database.
 Class<? extends javax.persistence.EntityManagerFactory> getEntityManagerFactoryInterface()
          Return the vendor-specific EntityManagerFactory interface that the EntityManagerFactory proxy is supposed to implement.
 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, 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

HibernateJpaVendorAdapter

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

determineDatabaseDialectClass

protected Class determineDatabaseDialectClass(Database database)
Determine the Hibernate database dialect class for the given target database.

Parameters:
database - the target database
Returns:
the Hibernate database dialect class, 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

getEntityManagerFactoryInterface

public Class<? extends javax.persistence.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
Overrides:
getEntityManagerFactoryInterface 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