org.apache.openjpa.conf
Class Compatibility

java.lang.Object
  extended by org.apache.openjpa.conf.Compatibility

public class Compatibility
extends Object

Struct encompassing backwards-compatibility options.


Field Summary
static int JPQL_EXTENDED
          Allow non-compliant extensions of JPQL.
static int JPQL_STRICT
          If a JPQL statement is not compliant with the JPA specification, fail to parse it.
static int JPQL_WARN
          If a JPQL statement is not compliant with the JPA specification, warn the first time that statement is parsed.
 
Constructor Summary
Compatibility()
           
 
Method Summary
 boolean getCloseOnManagedCommit()
          Whether to close the broker when the managed transaction commits.
 boolean getCopyObjectIds()
          Whether to copy identity objects before returning them to client code.
 boolean getFlushBeforeDetach()
          Whether OpenJPA should flush changes before detaching or serializing an entity.
 int getJPQL()
          Whether or not JPQL extensions are allowed.
 boolean getNonOptimisticVersionCheck()
          Whether or not to perform a version check on instances being updated in a datastore transaction.
 boolean getOverrideContextClassloader()
          Whether to temporally override the thread's Context Classloader when processing ORM XML documents to avoid deadlock potential with certain Classloader hierarchy configurations.
 boolean getQuotedNumbersInQueries()
          Whether to interpret quoted numbers in query strings as numbers.
 boolean getReloadOnDetach()
          Whether OpenJPA should attempt to load fields when the DetachState option is set to loaded.
 boolean getReorderMetaDataResolution()
          Whether OpenJPA should reorder entities in MetaDataRepository.processBuffer() to ensure that the MetaData for entities with foreign keys in their identity are processed after the entities they depend on.
 boolean getResetFlushFlagForCascadePersist()
          Whether OpenJPA should reset the internal state (flush flag) when cascading a persist to another Entity.
 boolean getStoreMapCollectionInEntityAsBlob()
          Whether if map and collection in entity are stored as blob.
 boolean getStrictIdentityValues()
          Whether to require exact identity value types when creating object ids from a class and value.
 boolean getValidateFalseReturnsHollow()
          Whether to return hollow instances to broker lookups with a validate parameter of false.
 boolean getValidateTrueChecksStore()
          Whether to check the datastore for the existence of a nontransactional cached object in broker lookups with a validate parameter of true.
 void setCloseOnManagedCommit(boolean close)
          Whether to close the broker when the managed transaction commits.
 void setCopyObjectIds(boolean copy)
          Whether to copy identity objects before returning them to client code.
 void setFlushBeforeDetach(boolean beforeDetach)
          Whether OpenJPA should flush changes before detaching or serializing an entity.
 void setJPQL(String jpql)
          Whether or not JPQL extensions are allowed.
 void setNonOptimisticVersionCheck(boolean nonOptimisticVersionCheck)
          Whether or not to perform a version check on instances being updated in a datastore transaction.
 void setOverrideContextClassloader(boolean overrideContextClassloader)
          Whether to temporally override the thread's Context Classloader when processing ORM XML documents to avoid deadlock potential with certain Classloader hierarchy configurations.
 void setQuotedNumbersInQueries(boolean quotedNumbers)
          Whether to interpret quoted numbers in query strings as numbers.
 void setReloadOnDetach(boolean reloadOnDetach)
          Whether OpenJPA should attempt to load fields when the DetachState option is set to loaded.
 void setReorderMetaDataResolution(boolean reorderProcessBuffer)
          Whether OpenJPA should reorder entities in MetaDataRepository.processBuffer() to ensure that the MetaData for entities with foreign keys in their identity are processed after the entities they depend on.
 void setResetFlushFlagForCascadePersist(boolean b)
          Whether OpenJPA should reset the internal state (flush flag) when cascading a persist to another Entity.
 void setStoreMapCollectionInEntityAsBlob(boolean storeAsBlob)
          Whether if map and collection in entity are stored as blob.
 void setStrictIdentityValues(boolean strictVals)
          Whether to require exact identity value types when creating object ids from a class and value.
 void setValidateFalseReturnsHollow(boolean hollow)
          Whether to return hollow instances to broker lookups with a validate parameter of false.
 void setValidateTrueChecksStore(boolean check)
          Whether to check the datastore for the existence of a nontransactional cached object in broker lookups with a validate parameter of true.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JPQL_STRICT

public static final int JPQL_STRICT
If a JPQL statement is not compliant with the JPA specification, fail to parse it.

Since:
1.1.0
See Also:
Constant Field Values

JPQL_WARN

public static final int JPQL_WARN
If a JPQL statement is not compliant with the JPA specification, warn the first time that statement is parsed.

Since:
1.1.0
See Also:
Constant Field Values

JPQL_EXTENDED

public static final int JPQL_EXTENDED
Allow non-compliant extensions of JPQL.

Since:
1.1.0
See Also:
Constant Field Values
Constructor Detail

Compatibility

public Compatibility()
Method Detail

getStrictIdentityValues

public boolean getStrictIdentityValues()
Whether to require exact identity value types when creating object ids from a class and value. Defaults to false.


setStrictIdentityValues

public void setStrictIdentityValues(boolean strictVals)
Whether to require exact identity value types when creating object ids from a class and value. Defaults to false.


getQuotedNumbersInQueries

public boolean getQuotedNumbersInQueries()
Whether to interpret quoted numbers in query strings as numbers. OpenJPA versions 0.3.1 and prior treated them as numbers; more recent versions treat them as strings.


setQuotedNumbersInQueries

public void setQuotedNumbersInQueries(boolean quotedNumbers)
Whether to interpret quoted numbers in query strings as numbers. OpenJPA versions 0.3.1 and prior treated them as numbers; more recent versions treat them as strings.


getValidateFalseReturnsHollow

public boolean getValidateFalseReturnsHollow()
Whether to return hollow instances to broker lookups with a validate parameter of false. OpenJPA versions prior to 0.4.0 did not return hollow instances without special configuration (the ObjectLookupMode). Beginning with 0.4.0, hollow objects are the default.


setValidateFalseReturnsHollow

public void setValidateFalseReturnsHollow(boolean hollow)
Whether to return hollow instances to broker lookups with a validate parameter of false. OpenJPA versions prior to 0.4.0 did not return hollow instances without special configuration (the ObjectLookupMode). Beginning with 0.4.0, hollow objects are the default.


getValidateTrueChecksStore

public boolean getValidateTrueChecksStore()
Whether to check the datastore for the existence of a nontransactional cached object in broker lookups with a validate parameter of true. OpenJPA versions prior to 0.4.0 checked the datastore.


setValidateTrueChecksStore

public void setValidateTrueChecksStore(boolean check)
Whether to check the datastore for the existence of a nontransactional cached object in broker lookups with a validate parameter of true. OpenJPA versions prior to 0.4.0 checked the datastore.


getCopyObjectIds

public boolean getCopyObjectIds()
Whether to copy identity objects before returning them to client code. Versions of OpenJPA prior to 0.3.0 always copied identity objects. Also, you should configure OpenJPA to copy identity objects if you mutate them after use.


setCopyObjectIds

public void setCopyObjectIds(boolean copy)
Whether to copy identity objects before returning them to client code. Versions of OpenJPA prior to 0.3.0 always copied identity objects. Also, you should configure OpenJPA to copy identity objects if you mutate them after use.


getCloseOnManagedCommit

public boolean getCloseOnManagedCommit()
Whether to close the broker when the managed transaction commits. Versions of OpenJPA prior to 0.3.0 did not close the broker.


setCloseOnManagedCommit

public void setCloseOnManagedCommit(boolean close)
Whether to close the broker when the managed transaction commits. Versions of OpenJPA prior to 0.3.0 did not close the broker.


setNonOptimisticVersionCheck

public void setNonOptimisticVersionCheck(boolean nonOptimisticVersionCheck)
Whether or not to perform a version check on instances being updated in a datastore transaction. Version of OpenJPA prior to 0.4.1 always forced a version check.


getNonOptimisticVersionCheck

public boolean getNonOptimisticVersionCheck()
Whether or not to perform a version check on instances being updated in a datastore transaction. Version of OpenJPA prior to 0.4.1 always forced a version check.


getJPQL

public int getJPQL()
Whether or not JPQL extensions are allowed. Defaults to JPQL_STRICT.

Since:
1.1.0
See Also:
JPQL_WARN, JPQL_STRICT, JPQL_EXTENDED

setJPQL

public void setJPQL(String jpql)
Whether or not JPQL extensions are allowed. Possible values: "warn", "strict", "extended".

Since:
1.1.0
See Also:
JPQL_WARN, JPQL_STRICT, JPQL_EXTENDED

getStoreMapCollectionInEntityAsBlob

public boolean getStoreMapCollectionInEntityAsBlob()
Whether if map and collection in entity are stored as blob. Defaults to false.

Since:
1.1.0

setStoreMapCollectionInEntityAsBlob

public void setStoreMapCollectionInEntityAsBlob(boolean storeAsBlob)
Whether if map and collection in entity are stored as blob. Defaults to false.

Since:
1.1.0

getFlushBeforeDetach

public boolean getFlushBeforeDetach()
Whether OpenJPA should flush changes before detaching or serializing an entity. In JPA this is usually false, but other persistence frameworks (ie JDO) may expect it to be true.

Prior to version 1.0.3 and 1.2.0 changes were always flushed.

Returns:
true if changes should be flushed, otherwise false.
Since:
1.0.3, 1.2.0

setFlushBeforeDetach

public void setFlushBeforeDetach(boolean beforeDetach)
Whether OpenJPA should flush changes before detaching or serializing an entity. In JPA this is usually false, but other persistence frameworks (ie JDO) may expect it to be true.

Prior to version 1.0.3 and 1.2.0 changes were always flushed.

Parameters:
beforeDetach - if true changes will be flushed before detaching or serializing an entity.
Since:
1.0.3, 1.2.0

getReorderMetaDataResolution

public boolean getReorderMetaDataResolution()
Whether OpenJPA should reorder entities in MetaDataRepository.processBuffer() to ensure that the MetaData for entities with foreign keys in their identity are processed after the entities they depend on.

Returns:
true if the reordering should be performed, false if not.

setReorderMetaDataResolution

public void setReorderMetaDataResolution(boolean reorderProcessBuffer)
Whether OpenJPA should reorder entities in MetaDataRepository.processBuffer() to ensure that the MetaData for entities with foreign keys in their identity are processed after the entities they depend on.

Parameters:
reorderProcessBuffer - true if the reordering should be performed, false if not.

getReloadOnDetach

public boolean getReloadOnDetach()
Whether OpenJPA should attempt to load fields when the DetachState option is set to loaded. This also determines whether a redundant copy of the version field is made. Defaults to true.

Returns:
the _reloadOnDetach
Since:
1.2.2

setReloadOnDetach

public void setReloadOnDetach(boolean reloadOnDetach)
Whether OpenJPA should attempt to load fields when the DetachState option is set to loaded. This also determines whether a redundant copy of the version field is made. Defaults to true.

Parameters:
reloadOnDetach - the _reloadOnDetach to set
Since:
1.2.2

getOverrideContextClassloader

public boolean getOverrideContextClassloader()
Whether to temporally override the thread's Context Classloader when processing ORM XML documents to avoid deadlock potential with certain Classloader hierarchy configurations. Defaults to false.


setOverrideContextClassloader

public void setOverrideContextClassloader(boolean overrideContextClassloader)
Whether to temporally override the thread's Context Classloader when processing ORM XML documents to avoid deadlock potential with certain Classloader hierarchy configurations. Defaults to false.


getResetFlushFlagForCascadePersist

public boolean getResetFlushFlagForCascadePersist()
Whether OpenJPA should reset the internal state (flush flag) when cascading a persist to another Entity. That is, when a flush is performed, OpenJPA keep state to indicate the flush has been performed. In certain cascade persist scenarios the fact that a flush has been performed prior to a cascade persist can cause certain entities to not be written to the database given the prior flush. This property, when set, will cause the flush flag to be reset in cascade scenarios. For more details see JIRA OPENJPA-2051

Since:
2.0.x

setResetFlushFlagForCascadePersist

public void setResetFlushFlagForCascadePersist(boolean b)
Whether OpenJPA should reset the internal state (flush flag) when cascading a persist to another Entity. That is, when a flush is performed, OpenJPA keep state to indicate the flush has been performed. In certain cascade persist scenarios the fact that a flush has been performed prior to a cascade persist can cause certain entities to not be written to the database given the prior flush. This property, when set, will cause the flush flag to be reset in cascade scenarios. For more details see JIRA OPENJPA-2051

Since:
2.0.x


Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.