Java Doc for LocalContainerEntityManagerFactoryBean.java in  » J2EE » spring-framework-2.5 » org » springframework » orm » jpa » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » J2EE » spring framework 2.5 » org.springframework.orm.jpa 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.springframework.orm.jpa.AbstractEntityManagerFactoryBean
      org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean

LocalContainerEntityManagerFactoryBean
public class LocalContainerEntityManagerFactoryBean extends AbstractEntityManagerFactoryBean implements ResourceLoaderAware,LoadTimeWeaverAware(Code)
org.springframework.beans.factory.FactoryBean that creates a JPA javax.persistence.EntityManagerFactory according to JPA's standard container bootstrap contract. This is the most powerful way to set up a shared JPA EntityManagerFactory in a Spring application context; the EntityManagerFactory can then be passed to JPA-based DAOs via dependency injection. Note that switching to a JNDI lookup or to a org.springframework.orm.jpa.LocalEntityManagerFactoryBean definition is just a matter of configuration!

As with LocalEntityManagerFactoryBean , configuration settings are usually read in from a META-INF/persistence.xml config file, residing in the class path, according to the general JPA configuration contract. However, this FactoryBean is more flexible in that you can override the location of the persistence.xml file, specify the JDBC DataSources to link to, etc. Furthermore, it allows for pluggable class instrumentation through Spring's org.springframework.instrument.classloading.LoadTimeWeaver abstraction, instead of being tied to a special VM agent specified on JVM startup.

Internally, this FactoryBean parses the persistence.xml file itself and creates a corresponding javax.persistence.spi.PersistenceUnitInfo object (with further configuration merged in, such as JDBC DataSources and the Spring LoadTimeWeaver), to be passed to the chosen JPA javax.persistence.spi.PersistenceProvider . This corresponds to a local JPA container with full support for the standard JPA container contract.

The exposed EntityManagerFactory object will implement all the interfaces of the underlying native EntityManagerFactory returned by the PersistenceProvider, plus the EntityManagerFactoryInfo interface which exposes additional metadata as assembled by this FactoryBean.
author:
   Juergen Hoeller
author:
   Rod Johnson
since:
   2.0
See Also:   LocalContainerEntityManagerFactoryBean.setPersistenceXmlLocation
See Also:   LocalContainerEntityManagerFactoryBean.setJpaProperties
See Also:   LocalContainerEntityManagerFactoryBean.setJpaVendorAdapter
See Also:   LocalContainerEntityManagerFactoryBean.setLoadTimeWeaver
See Also:   LocalContainerEntityManagerFactoryBean.setDataSource
See Also:   EntityManagerFactoryInfo
See Also:   LocalEntityManagerFactoryBean
See Also:   org.springframework.orm.jpa.support.SharedEntityManagerBean
See Also:   javax.persistence.spi.PersistenceProvider.createContainerEntityManagerFactory





Method Summary
protected  EntityManagerFactorycreateNativeEntityManagerFactory()
    
protected  PersistenceUnitInfodeterminePersistenceUnitInfo(PersistenceUnitManager persistenceUnitManager)
     Determine the PersistenceUnitInfo to use for the EntityManagerFactory created by this bean.

The default implementation reads in all persistence unit infos from persistence.xml, as defined in the JPA specification. If no entity manager name was specified, it takes the first info in the array as returned by the reader.

public  DataSourcegetDataSource()
    
public  PersistenceUnitInfogetPersistenceUnitInfo()
    
public  StringgetPersistenceUnitName()
    
protected  voidpostProcessEntityManagerFactory(EntityManagerFactory emf, PersistenceUnitInfo pui)
     Hook method allowing subclasses to customize the EntityManagerFactory after its creation via the PersistenceProvider.
public  voidsetDataSource(DataSource dataSource)
     Specify the JDBC DataSource that the JPA persistence provider is supposed to use for accessing the database.
public  voidsetLoadTimeWeaver(LoadTimeWeaver loadTimeWeaver)
     Specify the Spring LoadTimeWeaver to use for class instrumentation according to the JPA class transformer contract.
public  voidsetPersistenceUnitManager(PersistenceUnitManager persistenceUnitManager)
     Set the PersistenceUnitManager to use for obtaining the JPA persistence unit that this FactoryBean is supposed to build an EntityManagerFactory for.

The default is to rely on the local settings specified on this FactoryBean, such as "persistenceXmlLocation", "dataSource" and "loadTimeWeaver".

For reuse of existing persistence unit configuration or more advanced forms of custom persistence unit handling, consider defining a separate PersistenceUnitManager bean (typically a DefaultPersistenceUnitManager instance) and linking it in here.

public  voidsetPersistenceUnitPostProcessors(PersistenceUnitPostProcessor[] postProcessors)
     Set the PersistenceUnitPostProcessors to be applied to the PersistenceUnitInfo used for creating this EntityManagerFactory.
public  voidsetPersistenceXmlLocation(String persistenceXmlLocation)
     Set the location of the persistence.xml file we want to use.
public  voidsetResourceLoader(ResourceLoader resourceLoader)
    



Method Detail
createNativeEntityManagerFactory
protected EntityManagerFactory createNativeEntityManagerFactory() throws PersistenceException(Code)



determinePersistenceUnitInfo
protected PersistenceUnitInfo determinePersistenceUnitInfo(PersistenceUnitManager persistenceUnitManager)(Code)
Determine the PersistenceUnitInfo to use for the EntityManagerFactory created by this bean.

The default implementation reads in all persistence unit infos from persistence.xml, as defined in the JPA specification. If no entity manager name was specified, it takes the first info in the array as returned by the reader. Otherwise, it checks for a matching name.
Parameters:
  persistenceUnitManager - the PersistenceUnitManager to obtain from the chosen PersistenceUnitInfo




getDataSource
public DataSource getDataSource()(Code)



getPersistenceUnitInfo
public PersistenceUnitInfo getPersistenceUnitInfo()(Code)



getPersistenceUnitName
public String getPersistenceUnitName()(Code)



postProcessEntityManagerFactory
protected void postProcessEntityManagerFactory(EntityManagerFactory emf, PersistenceUnitInfo pui)(Code)
Hook method allowing subclasses to customize the EntityManagerFactory after its creation via the PersistenceProvider.

The default implementation is empty.
Parameters:
  emf - the newly created EntityManagerFactory we are working with
Parameters:
  pui - the PersistenceUnitInfo used to configure the EntityManagerFactory
See Also:   javax.persistence.spi.PersistenceProvider.createContainerEntityManagerFactory




setDataSource
public void setDataSource(DataSource dataSource)(Code)
Specify the JDBC DataSource that the JPA persistence provider is supposed to use for accessing the database. This is an alternative to keeping the JDBC configuration in persistence.xml, passing in a Spring-managed DataSource instead.

In JPA speak, a DataSource passed in here will be used as "nonJtaDataSource" on the PersistenceUnitInfo passed to the PersistenceProvider, overriding data source configuration in persistence.xml (if any).

NOTE: Only applied if no external PersistenceUnitManager specified.
See Also:   javax.persistence.spi.PersistenceUnitInfo.getNonJtaDataSource
See Also:   LocalContainerEntityManagerFactoryBean.setPersistenceUnitManager




setLoadTimeWeaver
public void setLoadTimeWeaver(LoadTimeWeaver loadTimeWeaver)(Code)
Specify the Spring LoadTimeWeaver to use for class instrumentation according to the JPA class transformer contract.

It is a not required to specify a LoadTimeWeaver: Most providers will be able to provide a subset of their functionality without class instrumentation as well, or operate with their VM agent specified on JVM startup.

In terms of Spring-provided weaving options, the most important ones are InstrumentationLoadTimeWeaver, which requires a Spring-specific (but very general) VM agent specified on JVM startup, and ReflectiveLoadTimeWeaver, which interacts with an underlying ClassLoader based on specific extended methods being available on it (for example, interacting with Spring's TomcatInstrumentableClassLoader).

NOTE: As of Spring 2.5, the context's default LoadTimeWeaver (defined as bean with name "loadTimeWeaver") will be picked up automatically, if available, removing the need for LoadTimeWeaver configuration on each affected target bean. Consider using the context:load-time-weaver XML tag for creating such a shared LoadTimeWeaver (autodetecting the environment by default).

NOTE: Only applied if no external PersistenceUnitManager specified. Otherwise, the external LocalContainerEntityManagerFactoryBean.setPersistenceUnitManager PersistenceUnitManager is responsible for the weaving configuration.
See Also:   org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver
See Also:   org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver
See Also:   org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader




setPersistenceUnitManager
public void setPersistenceUnitManager(PersistenceUnitManager persistenceUnitManager)(Code)
Set the PersistenceUnitManager to use for obtaining the JPA persistence unit that this FactoryBean is supposed to build an EntityManagerFactory for.

The default is to rely on the local settings specified on this FactoryBean, such as "persistenceXmlLocation", "dataSource" and "loadTimeWeaver".

For reuse of existing persistence unit configuration or more advanced forms of custom persistence unit handling, consider defining a separate PersistenceUnitManager bean (typically a DefaultPersistenceUnitManager instance) and linking it in here. persistence.xml location, DataSource configuration and LoadTimeWeaver will be defined on that separate DefaultPersistenceUnitManager bean in such a scenario.
See Also:   LocalContainerEntityManagerFactoryBean.setPersistenceXmlLocation
See Also:   LocalContainerEntityManagerFactoryBean.setDataSource
See Also:   LocalContainerEntityManagerFactoryBean.setLoadTimeWeaver
See Also:   org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager




setPersistenceUnitPostProcessors
public void setPersistenceUnitPostProcessors(PersistenceUnitPostProcessor[] postProcessors)(Code)
Set the PersistenceUnitPostProcessors to be applied to the PersistenceUnitInfo used for creating this EntityManagerFactory.

Such post-processors can, for example, register further entity classes and jar files, in addition to the metadata read in from persistence.xml.

NOTE: Only applied if no external PersistenceUnitManager specified.
See Also:   LocalContainerEntityManagerFactoryBean.setPersistenceUnitManager




setPersistenceXmlLocation
public void setPersistenceXmlLocation(String persistenceXmlLocation)(Code)
Set the location of the persistence.xml file we want to use. This is a Spring resource location.

Default is "classpath:META-INF/persistence.xml".

NOTE: Only applied if no external PersistenceUnitManager specified.
Parameters:
  persistenceXmlLocation - a Spring resource Stringidentifying the location of the persistence.xml filethat this LocalContainerEntityManagerFactoryBean should parse
See Also:   LocalContainerEntityManagerFactoryBean.setPersistenceUnitManager




setResourceLoader
public void setResourceLoader(ResourceLoader resourceLoader)(Code)



Fields inherited from org.springframework.orm.jpa.AbstractEntityManagerFactoryBean
final protected Log logger(Code)(Java Doc)
public EntityManagerFactory nativeEntityManagerFactory(Code)(Java Doc)

Methods inherited from org.springframework.orm.jpa.AbstractEntityManagerFactoryBean
final public void afterPropertiesSet() throws PersistenceException(Code)(Java Doc)
protected EntityManagerFactory createEntityManagerFactoryProxy(EntityManagerFactory emf)(Code)(Java Doc)
abstract protected EntityManagerFactory createNativeEntityManagerFactory() throws PersistenceException(Code)(Java Doc)
public void destroy()(Code)(Java Doc)
public DataSource getDataSource()(Code)(Java Doc)
public Class<? extends EntityManager> getEntityManagerInterface()(Code)(Java Doc)
public JpaDialect getJpaDialect()(Code)(Java Doc)
public Map getJpaPropertyMap()(Code)(Java Doc)
public EntityManagerFactory getNativeEntityManagerFactory()(Code)(Java Doc)
public EntityManagerFactory getObject()(Code)(Java Doc)
public Class getObjectType()(Code)(Java Doc)
public PersistenceProvider getPersistenceProvider()(Code)(Java Doc)
public PersistenceUnitInfo getPersistenceUnitInfo()(Code)(Java Doc)
public String getPersistenceUnitName()(Code)(Java Doc)
public boolean isSingleton()(Code)(Java Doc)
public void setEntityManagerInterface(Class<? extends EntityManager> entityManagerInterface)(Code)(Java Doc)
public void setJpaDialect(JpaDialect jpaDialect)(Code)(Java Doc)
public void setJpaProperties(Properties jpaProperties)(Code)(Java Doc)
public void setJpaPropertyMap(Map jpaProperties)(Code)(Java Doc)
public void setJpaVendorAdapter(JpaVendorAdapter jpaVendorAdapter)(Code)(Java Doc)
public void setPersistenceProvider(PersistenceProvider persistenceProvider)(Code)(Java Doc)
public void setPersistenceProviderClass(Class<? extends PersistenceProvider> persistenceProviderClass)(Code)(Java Doc)
public void setPersistenceUnitName(String persistenceUnitName)(Code)(Java Doc)
public DataAccessException translateExceptionIfPossible(RuntimeException ex)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.