com.isomorphic.jpa

## Class JPA2DataSource

- java.lang.Object
- - com.isomorphic.base.Base
  - - com.isomorphic.datasource.DataSource
    - - com.isomorphic.datasource.BasicDataSource
      - - com.isomorphic.jpa.JPADataSource
        - - com.isomorphic.jpa.JPA2DataSource

- All Implemented Interfaces:
    IToJSON

      public class JPA2DataSource
      extends JPADataSource

  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:

       <persistence
            version="2.0"
            xmlns="http://java.sun.com/xml/ns/persistence"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
       ...
       </persistence>

  Implementation is not thread-safe. Data source acquiring mechanism enshures that single instance of this class will be used in one thread only.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class com.isomorphic.jpa.JPADataSource

      `additionalFields, AUTO_DERIVE_PROPERTY, BEAN_CLASS_PROPERTY, beanClass, beanName, configName, connectionHolder, em, ESCAPE_CHARACTER, generateRelatedUpdates, ID_CLASS_PROPERTY, idClass, JPA_CONFIG_PROPERTY, relatedUpdates, SCHEMA_BEAN_PROPERTY, shouldRollBackTransaction, strictSQLFiltering, tx, USE_QUALIFIED_CLASS_NAME_PROPERTY, useQualifiedClassName`

    - ### Fields inherited from class com.isomorphic.datasource.DataSource

      `OP_ADD, OP_CLIENT_EXPORT, OP_CUSTOM, OP_DOWNLOAD_FILE, OP_FETCH, OP_GET_FILE, OP_GET_FILE_VERSION, OP_HAS_FILE, OP_HAS_FILE_VERSION, OP_LIST_FILE_VERSIONS, OP_LIST_FILES, OP_LOAD_SCHEMA, OP_REMOVE, OP_REMOVE_FILE, OP_REMOVE_FILE_VERSION, OP_RENAME_FILE, OP_SAVE_FILE, OP_UNIQUE_NAME, OP_UPDATE, OP_VALIDATE, OP_VIEW_FILE`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Map` | `deriveDS(java.lang.String schemaBean, java.lang.String id, boolean extended)` Creates data source configuration from specified fully qualified class name.

    - ### Methods inherited from class com.isomorphic.jpa.JPADataSource

      `escapeValueForFilter, execute, executeAdd, executeFetch, executeRemove, executeUpdate, freeResources, getField, getFieldNames, getTransactionObjectKey, increaseOpCount, init, markTransactionForRollBack`

    - ### Methods inherited from class com.isomorphic.datasource.BasicDataSource

      `getAuditDataSource, getAuditRecord, getAuditRecord, hasCustomDefaultFetchOperation, hasCustomLogic, shouldAutoJoinTransaction, shouldAutoStartTransaction, transformMultipleFields, transformMultipleFields, writeMultiAudits`

    - ### Methods inherited from class com.isomorphic.datasource.DataSource

      `add, add, addDynamicDSGenerator, addDynamicDSGenerator, addDynamicDSGenerator, clearDynamicDSGenerators, convertRelativeDates, convertRelativeDates, convertRelativeDates, convertRelativeDates, convertRelativeDates, convertRelativeDates, executeClientExport, executeCustom, executeFileSource, fetch, fetch, fetchById, fetchById, fetchById, fetchSingle, fetchSingle, filter, filter, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, get1ManyRelationFields, getAuditChangedFieldsFieldName, getAuditRevisionFieldName, getAuditTimestampFieldName, getAuditTypeFieldName, getAuditUserFieldName, getDefaultDynamicDSGenerator, getDirectFields, getDynamicDSGenerators, getEnumConstantProperty, getEnumOrdinalProperty, getEnumTranslateStrategy, getFieldNames, getFile, getFileAsInputStream, getFileAsString, getFileContentsField, getFileFormatField, getFileNameField, getFileTypeField, getID, getJoinDSName, getJoinDSName, getListProperties, getListProperties, getListProperty, getManyManyRelationFields, getMapProperty, getName, getNonIncludedFields, getObjectProperty, getOperationProperty, getPrimaryKey, getProperties, getProperties, getProperties, getProperty, getPropertyJavaClass, getRecordXPath, getRelatedDisplayRecord, getRelatedDisplayRecord, getRelatedDSName, getRelatedDSName, getRelatedTableAlias, getRelationFields, getTableName, getTransactionObject, getTransactionObject, has1ManyRelationFields, hasFile, hasManyManyRelationFields, hasRecord, hasRecord, hasRelationFields, initialized, is1ManyRelationField, isManyManyRelationField, isModificationOperation, isRelationField, isServerOnly, listFiles, listFiles, listFiles, listFiles, listFiles, listFiles, remove, removeDynamicDSGenerator, removeDynamicDSGenerator, removeDynamicDSGenerator, removeFile, renameFile, saveFile, setEnumConstantProperty, setEnumOrdinalProperty, setEnumTranslateStrategy, setOmitNullMapValuesInResponse, setProperties, transformImportValue, transformImportValue, transformResponse, update, update, validate, validate, validate, validateRecord`

    - ### Methods inherited from interface com.isomorphic.js.IToJSON

      `toJSON`

- - ### Method Detail

    - #### deriveDS

          public java.util.Map deriveDS(java.lang.String schemaBean,
                                        java.lang.String id,
                                        boolean extended)

      Description copied from class: `JPADataSource`
      Creates data source configuration from specified fully qualified class name.
      Overrides:
        `deriveDS` in class `JPADataSource`
      Parameters:
        `schemaBean` - `String` Fully qualified class name.
        `id` - `String` Id for newly created data source.
        `extended` - `boolean` Extended properties will be captured if set to `true`.
      Returns:
        `Map<String, Object>` created data source configuration or `null` if it can not be created.