| Interface | Description | 
|---|---|
| EMFProviderInterface | Interface used to provide specific implementation of  EntityManagerand transaction acquiring and handling. Implementation of this interface should provide at least two constructors: default constructor - will be used if implementation is used as default EMF provider constructor with single parameter of typeProperties- will be used if implementation is used as additional named EMF provider | 
| Class | Description | 
|---|---|
| EMF | Singleton factory for  EntityManagerand transaction with helper methods. | 
| EMFProviderBMT | EMF provider for Bean Managed Transactions (BMT). | 
| EMFProviderCMT | EMF provider for Container Managed Transactions (CMT). Use this provider if you want to use JPA data source in EJB environment (accessing JPA data source from enterprise bean). | 
| EMFProviderLMT | EMF provider for Locally Managed Transactions (LMT). | 
| EMFProviderNoTransactions | EMF provider for Google Application Engine mode without transactions usage. | 
| EMFProviderSpring | EMF provider for Spring framework. | 
| GAEJPADataSource | Server side implementation of JPA 1.0 data source under Google Application Engine. | 
| JPA2DataSource | Server side implementation of JPA 2.0 data source. Supports all AdvancedCriteria criterions except "regexp" and "iregexp". Declaring JPA 2.0 usage in persistence.xml: | 
| JPA2DSGenerator | Methods for JPA entities data source generation. There are two methods:  getDataSourceConfigFromJPAClass(String className)- generates configuration for JPA 1.0 data source. | 
| JPAConnectionHolder | Holds  EntityManagerand current transaction. | 
| JPADataSource | Server side implementation of JPA 1.0 data source. This class supports search with advanced criteria. This class supports fields with  valueXPathsetting. | 
| JPADSGenerator | Methods for JPA entities data source generation. There are two methods:  getDataSourceConfigFromJPAClass(String className)- generates configuration for JPA 1.0 data source. |