javax.jdo.PersistenceManagerFactory - JDO interface
javax.jdo
Interface PersistenceManagerFactory
- Superinterfaces:
-
Serializable
PersistenceManagerFactory
is the interface to use to obtain PersistenceManager
instances. All PersistenceManager
instances obtained from the same PersistenceManagerFactory
will have the same default properties. PersistenceManagerFactory
instances may be configured and serialized for later use. They may be stored via JNDI and looked up and used later. Any properties configured will be saved and restored.
Once the first PersistenceManager
is obtained from the PersistenceManagerFactory
, the factory can no longer be configured.
If the ConnectionFactory
property is set (non-null
) then all other Connection properties including ConnectionFactoryName
are ignored; otherwise, if ConnectionFactoryName
is set (non-null
) then all other Connection properties are ignored. Similarly, if the ConnectionFactory2
property is set (non-null
) then ConnectionFactory2Name
is ignored.
Operational state (PersistenceManager
pooling, connection pooling, operational parameters) must not be serialized.
- Since:
- JDO 1.0
FetchGroup
s to the set of active fetch groups. FetchGroup
s are made unmodifiable before being added. FetchGroup
s that match existing FetchGroup
s replace the corresponding FetchGroup
s. The replaced FetchGroup
s become unscoped. Match is based on identical class and equal name. The methods addFetchGroups
, removeFetchGroups
, getFetchGroups
, and removeAllFetchGroups
are internally serialized. - Parameters:
-
groups
- an array of FetchGroups
- Throws:
-
SecurityException
- if the caller is not authorized forJDOPermission
("manageMetadata")
- Since:
- JDO 2.2
addInstanceLifecycleListener
and removeInstanceLifecycleListener
methods are considered to be configuration methods and can only be called when the PersistenceManagerFactory is configurable (before the first time getPersistenceManager
is called). The classes
parameter identifies all of the classes of interest. If the classes
parameter is specified as null
, events for all persistent classes and interfaces will be sent to the listener.
The listener will be called for each event for which it implements the corresponding InstanceLifecycleListener
interface.
- Parameters:
-
listener
- the lifecycle listener -
classes
- the classes of interest to the listener
- Since:
- JDO 2.0
If the authorization check succeeds, check to see that all PersistenceManager instances obtained from this PersistenceManagerFactory have no active transactions. If any PersistenceManager instances have an active transaction, throw a JDOUserException, with one nested JDOUserException for each PersistenceManager with an active Transaction.
If there are no active transactions, then close all PersistenceManager instances obtained from this PersistenceManagerFactory, mark this PersistenceManagerFactory as closed, disallow getPersistenceManager methods, and allow all other get methods. If a set method or getPersistenceManager method is called after close, then JDOUserException is thrown.
- Since:
- JDO 1.0.1
- Returns:
- the driver name for the data store connection.
- Since:
- JDO 1.0
- Returns:
- the data store connection factory.
- Since:
- JDO 1.0
- Returns:
- the data store connection factory.
- Since:
- JDO 1.0
- Returns:
- the name of the data store connection factory.
- Since:
- JDO 1.0
- Returns:
- the name of the data store connection factory.
- Since:
- JDO 1.0
- Returns:
- the URL for the data store connection.
- Since:
- JDO 1.0
- Returns:
- the user name for the data store connection.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Returns:
- the copyOnAttach setting.
- Since:
- JDO 2.1
- See Also:
-
setCopyOnAttach(boolean)
DataStoreCache
that this factory uses for controlling a second-level cache. If this factory does not use a second-level cache, the returned instance does nothing. This method never returns null
. - Returns:
- the DataStoreCache
- Since:
- JDO 2.0
- Returns:
- the default detachAllOnCommit setting.
- Since:
- JDO 2.0
- See Also:
-
setDetachAllOnCommit(boolean)
FetchGroup
for the Class and name. If a corresponding FetchGroup
already exists in PersistenceManagerFactory
scope, copy its definition to a new FetchGroup
. If the FetchGroup
does not already exist, create it with no members. The FetchGroup
does not become in scope until it is added to the current set via addFetchGroups
. - Parameters:
-
cls
- the class or interface for the FetchGroup -
name
- the name of the fetch group
- Returns:
- the FetchGroup
- Throws:
-
JDOUserException
- if the class is not a persistence-capable class or interface
- Since:
- JDO 2.2
addFetchGroups
, removeFetchGroups
, getFetchGroups
, and removeAllFetchGroups
are internally serialized. - Returns:
- a copy of all currently active fetch groups
- Throws:
-
SecurityException
- if the caller is not authorized forJDOPermission
("getMetadata")
- Since:
- JDO 2.2
PersistenceManager
instances obtained from this factory. - Returns:
- the default IngoreCache setting.
- Since:
- JDO 1.0
- Returns:
- the Mapping setting.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Returns:
- the default Multithreaded setting.
- Since:
- JDO 1.0
- Returns:
- the name of this PMF
- Since:
- JDO 2.1
PersistenceManager
instances obtained from this factory. - Returns:
- the default NontransactionalRead setting.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Returns:
- the default NontransactionalWrite setting.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Returns:
- the default Optimistic setting.
- Since:
- JDO 1.0
PersistenceManager
from this factory. The instance has default values for options. After the first use of getPersistenceManager
, no "set" methods will succeed.
- Returns:
- a
PersistenceManager
instance with default options.
- Since:
- JDO 1.0
PersistenceManager
from this factory. The instance has default values for options. The parameters userid
and password
are used when obtaining datastore connections from the connection pool. After the first use of getPersistenceManager
, no "set" methods will succeed.
- Parameters:
-
userid
- the userid for the connection -
password
- the password for the connection
- Returns:
- a
PersistenceManager
instance with default options.
- Since:
- JDO 1.0
PersistenceManager
. When used with a PersistenceManagerFactory
that uses TransactionType JTA, the proxy can be used in a server to dynamically bind to an instance from this factory associated with the thread's current transaction. In this case, the close method is ignored, as the PersistenceManager
is automatically closed when the transaction completes.
When used with a PersistenceManagerFactory
that uses TransactionType RESOURCE_LOCAL, the proxy uses an inheritable ThreadLocal to bind to an instance of PersistenceManager
associated with the thread. In this case, the close method executed on the proxy closes the PersistenceManager
and then clears the ThreadLocal. Use of this method does not affect the configurability of the PersistenceManagerFactory
.
- Returns:
- a
PersistenceManager
proxy.
- Since:
- JDO 2.1
- Returns:
- the PersistenceUnitName
- Since:
- JDO 2.1
- See Also:
-
setPersistenceUnitName(String)
PersistenceManagerFactory
. Properties with keys VendorName
and VersionNumber
are required. Other keys are optional. - Returns:
- the non-configurable properties of this
PersistenceManagerFactory
.
- Since:
- JDO 1.0
- Returns:
- the readOnly setting.
- Since:
- JDO 2.2
- See Also:
-
setReadOnly(boolean)
- Returns:
- the value of the restoreValues property
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Returns:
- the default RetainValues setting.
- Since:
- JDO 1.0
- Returns:
- the TimeZone of the server
- Since:
- JDO 2.1
- See Also:
-
setServerTimeZoneID(String)
- Returns:
- the transaction isolation level
- Since:
- JDO 2.2
- See Also:
-
setTransactionIsolationLevel(String)
- Returns:
- the TransactionType
- Since:
- JDO 2.1
- See Also:
-
setTransactionType(String)
PersistenceManagerFactory
instance can be used until it is closed. - Returns:
-
true
if thisPersistenceManagerFactory
has been closed.
- Since:
- JDO 2.0
- See Also:
-
close()
FetchGroup
s from the set of active FetchGroup
s. All removed FetchGroup
s become unscoped. The methods addFetchGroups
, removeFetchGroups
, getFetchGroups
, and removeAllFetchGroups
are internally serialized. - Throws:
-
SecurityException
- if the caller is not authorized forJDOPermission
("manageMetadata")
- Since:
- JDO 2.2
FetchGroup
s from the set of active FetchGroup
s. Existing FetchGroup
s that match parameter FetchGroup
s are removed. Parameter FetchGroup
s that do not match any existing FetchGroup
are ignored. Removed FetchGroup
s become unscoped. Match is based on identical class and equal name. The methods addFetchGroups
, removeFetchGroups
, getFetchGroups
, and removeAllFetchGroups
are internally serialized. - Parameters:
-
groups
- an array of FetchGroups
- Throws:
-
SecurityException
- if the caller is not authorized forJDOPermission
("manageMetadata")
- Since:
- JDO 2.2
addInstanceLifecycleListener
and removeInstanceLifecycleListener
methods are considered to be configuration methods and can only be called when the PersistenceManagerFactory is configurable (before the first time getPersistenceManager
is called). - Parameters:
-
listener
- the listener instance to be removed
- Since:
- JDO 2.0
- Parameters:
-
driverName
- the driver name for the data store connection.
- Since:
- JDO 1.0
- Parameters:
-
connectionFactory
- the data store connection factory.
- Since:
- JDO 1.0
- Parameters:
-
connectionFactory
- the data store connection factory.
- Since:
- JDO 1.0
- Parameters:
-
connectionFactoryName
- the name of the data store connection factory.
- Since:
- JDO 1.0
- Parameters:
-
connectionFactoryName
- the name of the data store connection factory.
- Since:
- JDO 1.0
- Parameters:
-
password
- the password for the data store connection.
- Since:
- JDO 1.0
- Parameters:
-
url
- the URL for the data store connection.
- Since:
- JDO 1.0
- Parameters:
-
userName
- the user name for the data store connection.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. CopyOnAttach set to true
specifies that during makePersistent, copies are made of detached parameter instances. With this flag set to false
, detached parameter instances are attached directly and change their state from detached-clean to persistent-clean or from detached-dirty to persistent-dirty.
- Parameters:
-
flag
-
- Since:
- JDO 2.1
- See Also:
-
getCopyOnAttach()
PersistenceManager
instances obtained from this factory. - Parameters:
-
flag
- the default DetachAllOnCommit setting
- Since:
- JDO 2.0
- See Also:
-
getDetachAllOnCommit()
PersistenceManager
instances obtained from this factory. - Parameters:
-
flag
- the default IgnoreCache setting.
- Since:
- JDO 1.0
- Parameters:
-
mapping
- the Mapping setting.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Parameters:
-
flag
- the default Multithreaded setting.
- Since:
- JDO 1.0
- Parameters:
-
name
- the name of this PMF
- Since:
- JDO 2.1
PersistenceManager
instances obtained from this factory. - Parameters:
-
flag
- the default NontransactionalRead setting.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Parameters:
-
flag
- the default NontransactionalWrite setting.
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Parameters:
-
flag
- the default Optimistic setting.
- Since:
- JDO 1.0
- Parameters:
-
name
- the PersistenceUnitName
- Since:
- JDO 2.1
- See Also:
-
getPersistenceUnitName()
ReadOnly set to false
specifies that no updates can be performed to the datastore, and if updates are attempted a JDOReadOnlyException is thrown.
- Parameters:
-
flag
-
- Since:
- JDO 2.2
- See Also:
-
getReadOnly()
true
, at rollback, fields of newly persistent instances are restored to their values as of the beginning of the transaction, and the instances revert to transient. Additionally, fields of modified instances of primitive types and immutable reference types are restored to their values as of the beginning of the transaction. If false
, at rollback, the values of fields of newly persistent instances are unchanged and the instances revert to transient. Additionally, dirty instances transition to hollow. If an implementation does not support this option, a JDOUnsupportedOptionException
is thrown.
- Parameters:
-
restoreValues
- the value of the restoreValues property
- Since:
- JDO 1.0
PersistenceManager
instances obtained from this factory. - Parameters:
-
flag
- the default RetainValues setting.
- Since:
- JDO 1.0
- Parameters:
-
timezoneid
- the TimeZone ID of the server
- Throws:
-
JDOUserException
- if the parameter does not match an ID from TimeZone.getAvailableIDs()
- Since:
- JDO 2.1
- See Also:
-
getServerTimeZoneID()
-
java.util.TimeZone.getTimeZone(String)
-
java.util.TimeZone.getAvailableIDs()
-
PersistenceManager.getServerDate()
- read-uncommitted
- read-committed
- repeatable-read
- snapshot
- serializable
- Parameters:
-
level
- the transaction isolation level
- Since:
- JDO 2.2
- Parameters:
-
name
- the TransactionType
- Throws:
-
JDOUserException
- if the parameter is not a permitted value
- Since:
- JDO 2.1
Each supported JDO feature is represented by a String
with one of the following values:
javax.jdo.option.TransientTransactional
javax.jdo.option.NontransactionalRead
javax.jdo.option.NontransactionalWrite
javax.jdo.option.RetainValues
javax.jdo.option.Optimistic
javax.jdo.option.ApplicationIdentity
javax.jdo.option.DatastoreIdentity
javax.jdo.option.NonDurableIdentity
javax.jdo.option.ArrayList
javax.jdo.option.HashMap
javax.jdo.option.Hashtable
javax.jdo.option.LinkedList
javax.jdo.option.TreeMap
javax.jdo.option.TreeSet
javax.jdo.option.Vector
javax.jdo.option.Map
javax.jdo.option.List
javax.jdo.option.Array
javax.jdo.option.NullCollection
javax.jdo.option.ChangeApplicationIdentity
javax.jdo.option.BinaryCompatibility
javax.jdo.option.GetDataStoreConnection
javax.jdo.option.UnconstrainedQueryVariables
javax.jdo.option.TransactionIsolationLevel.read-uncommitted
javax.jdo.option.TransactionIsolationLevel.read-committed
javax.jdo.option.TransactionIsolationLevel.repeatable-read
javax.jdo.option.TransactionIsolationLevel.snapshot
javax.jdo.option.TransactionIsolationLevel.serializable
javax.jdo.query.SQL
javax.jdo.query.JDOQL
The standard JDO query language is represented by a String
:
javax.jdo.query.JDOQL
- Returns:
- the
Collection
ofString
s representing the supported options.
- Since:
- JDO 1.0