|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface JdoOperations
Interface that specifies a basic set of JDO operations,
implemented by JdoTemplate
. Not often used, but a useful
option to enhance testability, as it can easily be mocked or stubbed.
Defines JdoTemplate
's data access methods that mirror
various JDO PersistenceManager
methods. Users are
strongly encouraged to read the JDO PersistenceManager
javadocs for details on the semantics of those methods.
Note that lazy loading will just work with an open JDO
PersistenceManager
, either within a managed transaction or within
OpenPersistenceManagerInViewFilter
/
OpenPersistenceManagerInViewInterceptor
.
Furthermore, some operations just make sense within transactions,
for example: evict
, evictAll
, flush
.
Updated to expose JDO 2.0 functionality, as of Spring 1.2:
detachCopy
, attachCopy
, findByNamedQuery
, etc.
Those operations will by default only work on top of the standard JDO 2.0 API.
Since Spring 1.2.2, the execution of those operations can also be adapted through
the JdoDialect mechanism (for example, for vendor-specific pre-JDO2 methods).
JdoTemplate
,
PersistenceManager
,
JdoTransactionManager
,
JdoDialect
,
OpenPersistenceManagerInViewFilter
,
OpenPersistenceManagerInViewInterceptor
Method Summary | |
---|---|
Object |
attachCopy(Object detachedEntity)
Reattach the given detached instance (for example, a web form object) with the current JDO transaction, merging its changes into the current persistence instance that represents the corresponding entity. |
Collection |
attachCopyAll(Collection detachedEntities)
Reattach the given detached instances (for example, web form objects) with the current JDO transaction, merging their changes into the current persistence instances that represent the corresponding entities. |
void |
deletePersistent(Object entity)
Delete the given persistent instance. |
void |
deletePersistentAll(Collection entities)
Delete all given persistent instances. |
Object |
detachCopy(Object entity)
Detach a copy of the given persistent instance from the current JDO transaction, for use outside a JDO transaction (for example, as web form object). |
Collection |
detachCopyAll(Collection entities)
Detach copies of the given persistent instances from the current JDO transaction, for use outside a JDO transaction (for example, as web form objects). |
void |
evict(Object entity)
Remove the given object from the PersistenceManager cache. |
void |
evictAll()
Remove all objects from the PersistenceManager cache. |
void |
evictAll(Collection entities)
Remove all given objects from the PersistenceManager cache. |
Object |
execute(JdoCallback action)
Execute the action specified by the given action object within a PersistenceManager. |
Collection |
executeFind(JdoCallback action)
Execute the specified action assuming that the result object is a Collection. |
Collection |
find(Class entityClass)
Find all persistent instances of the given class. |
Collection |
find(Class entityClass,
String filter)
Find all persistent instances of the given class that match the given JDOQL filter. |
Collection |
find(Class entityClass,
String filter,
String ordering)
Find all persistent instances of the given class that match the given JDOQL filter, with the given result ordering. |
Collection |
find(Class entityClass,
String filter,
String parameters,
Map values)
Find all persistent instances of the given class that match the given JDOQL filter, using the given parameter declarations and parameter values. |
Collection |
find(Class entityClass,
String filter,
String parameters,
Map values,
String ordering)
Find all persistent instances of the given class that match the given JDOQL filter, using the given parameter declarations and parameter values, with the given result ordering. |
Collection |
find(Class entityClass,
String filter,
String parameters,
Object[] values)
Find all persistent instances of the given class that match the given JDOQL filter, using the given parameter declarations and parameter values. |
Collection |
find(Class entityClass,
String filter,
String parameters,
Object[] values,
String ordering)
Find all persistent instances of the given class that match the given JDOQL filter, using the given parameter declarations and parameter values, with the given result ordering. |
Collection |
find(String queryString)
Find persistent instances through the given single-string JDOQL query. |
Collection |
find(String queryString,
Map values)
Find persistent instances through the given single-string JDOQL query. |
Collection |
find(String language,
Object queryObject)
Find persistent instances through the given query object in the specified query language. |
Collection |
find(String queryString,
Object[] values)
Find persistent instances through the given single-string JDOQL query. |
Collection |
findByNamedQuery(Class entityClass,
String queryName)
Find persistent instances through the given named query. |
Collection |
findByNamedQuery(Class entityClass,
String queryName,
Map values)
Find persistent instances through the given named query. |
Collection |
findByNamedQuery(Class entityClass,
String queryName,
Object[] values)
Find persistent instances through the given named query. |
void |
flush()
Flush all transactional modifications to the database. |
Object |
getObjectById(Class entityClass,
Object idValue)
Return the persistent instance of the given entity class with the given id value, throwing an exception if not found. |
Object |
getObjectById(Object objectId)
Return the persistent instance with the given JDO object id, throwing an exception if not found. |
void |
makePersistent(Object entity)
Make the given transient instance persistent. |
void |
makePersistentAll(Collection entities)
Make the given transient instances persistent. |
void |
refresh(Object entity)
Re-read the state of the given persistent instance. |
void |
refreshAll()
Re-read the state of all persistent instances. |
void |
refreshAll(Collection entities)
Re-read the state of all given persistent instances. |
Method Detail |
---|
Object execute(JdoCallback action) throws DataAccessException
Note: Callback code is not supposed to handle transactions itself! Use an appropriate transaction manager like JdoTransactionManager.
action
- callback object that specifies the JDO action
null
DataAccessException
- in case of JDO errorsJdoTransactionManager
,
org.springframework.dao
,
org.springframework.transaction
,
PersistenceManager
Collection executeFind(JdoCallback action) throws DataAccessException
action
- callback object that specifies the JDO action
null
DataAccessException
- in case of JDO errorsObject getObjectById(Object objectId) throws DataAccessException
A JDO object id identifies both the persistent class and the id within the namespace of that class.
objectId
- a JDO object id of the persistent instance
ObjectRetrievalFailureException
- if not found
DataAccessException
- in case of JDO errorsPersistenceManager.getObjectById(Object, boolean)
Object getObjectById(Class entityClass, Object idValue) throws DataAccessException
The given id value is typically just unique within the namespace of the persistent class. Its toString value must correspond to the toString value of the corresponding JDO object id.
Usually, the passed-in value will have originated from the primary key field of a persistent object that uses JDO's application identity.
entityClass
- a persistent classidValue
- an id value of the persistent instance
ObjectRetrievalFailureException
- if not found
DataAccessException
- in case of JDO errorsPersistenceManager.getObjectById(Object, boolean)
,
PersistenceManager.getObjectById(Class, Object)
void evict(Object entity) throws DataAccessException
entity
- the persistent instance to evict
DataAccessException
- in case of JDO errorsPersistenceManager.evict(Object)
void evictAll(Collection entities) throws DataAccessException
entities
- the persistent instances to evict
DataAccessException
- in case of JDO errorsPersistenceManager.evictAll(java.util.Collection)
void evictAll() throws DataAccessException
DataAccessException
- in case of JDO errorsPersistenceManager.evictAll()
void refresh(Object entity) throws DataAccessException
entity
- the persistent instance to re-read
DataAccessException
- in case of JDO errorsPersistenceManager.refresh(Object)
void refreshAll(Collection entities) throws DataAccessException
entities
- the persistent instances to re-read
DataAccessException
- in case of JDO errorsPersistenceManager.refreshAll(java.util.Collection)
void refreshAll() throws DataAccessException
DataAccessException
- in case of JDO errorsPersistenceManager.refreshAll()
void makePersistent(Object entity) throws DataAccessException
entity
- the transient instance to make persistent
DataAccessException
- in case of JDO errorsPersistenceManager.makePersistent(Object)
void makePersistentAll(Collection entities) throws DataAccessException
entities
- the transient instances to make persistent
DataAccessException
- in case of JDO errorsPersistenceManager.makePersistentAll(java.util.Collection)
void deletePersistent(Object entity) throws DataAccessException
entity
- the persistent instance to delete
DataAccessException
- in case of JDO errorsPersistenceManager.deletePersistent(Object)
void deletePersistentAll(Collection entities) throws DataAccessException
This can be combined with any of the find methods to delete by query in two lines of code.
entities
- the persistent instances to delete
DataAccessException
- in case of JDO errorsPersistenceManager.deletePersistentAll(java.util.Collection)
Object detachCopy(Object entity)
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
entity
- the persistent instance to detachPersistenceManager.detachCopy(Object)
Collection detachCopyAll(Collection entities)
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
entities
- the persistent instances to detachPersistenceManager.detachCopyAll(Collection)
Object attachCopy(Object detachedEntity)
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
Note that as of JDO 2.0 final, this operation is equivalent to a
makePersistent
call. This dedicated reattach operation
now solely serves as distinction point for custom JdoDialects.
It is still recommended to call this operation for enhanced adaptability.
detachedEntity
- the detached instance to attach
PersistenceManager.makePersistent(Object)
Collection attachCopyAll(Collection detachedEntities)
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
Note that as of JDO 2.0 final, this operation is equivalent to a
makePersistentAll
call. This dedicated reattach operation
now solely serves as distinction point for custom JdoDialects.
It is still recommended to call this operation for enhanced adaptability.
detachedEntities
- the detached instances to reattach
PersistenceManager.makePersistentAll(java.util.Collection)
void flush() throws DataAccessException
Only invoke this for selective eager flushing, for example when JDBC code needs to see certain changes within the same transaction. Else, it's preferable to rely on auto-flushing at transaction completion.
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
DataAccessException
- in case of JDO errorsPersistenceManager.flush()
,
JdoDialect.flush(javax.jdo.PersistenceManager)
Collection find(Class entityClass) throws DataAccessException
entityClass
- a persistent class
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(Class)
Collection find(Class entityClass, String filter) throws DataAccessException
entityClass
- a persistent classfilter
- the JDOQL filter to match (or null
if none)
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(Class, String)
Collection find(Class entityClass, String filter, String ordering) throws DataAccessException
entityClass
- a persistent classfilter
- the JDOQL filter to match (or null
if none)ordering
- the ordering of the result (or null
if none)
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(Class, String)
,
Query.setOrdering(java.lang.String)
Collection find(Class entityClass, String filter, String parameters, Object[] values) throws DataAccessException
entityClass
- a persistent classfilter
- the JDOQL filter to matchparameters
- the JDOQL parameter declarationsvalues
- the corresponding parameter values
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(Class, String)
,
Query.declareParameters(java.lang.String)
,
Query.executeWithArray(java.lang.Object[])
Collection find(Class entityClass, String filter, String parameters, Object[] values, String ordering) throws DataAccessException
entityClass
- a persistent classfilter
- the JDOQL filter to matchparameters
- the JDOQL parameter declarationsvalues
- the corresponding parameter valuesordering
- the ordering of the result (or null
if none)
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(Class, String)
,
Query.declareParameters(java.lang.String)
,
Query.executeWithArray(java.lang.Object[])
,
Query.setOrdering(java.lang.String)
Collection find(Class entityClass, String filter, String parameters, Map values) throws DataAccessException
entityClass
- a persistent classfilter
- the JDOQL filter to matchparameters
- the JDOQL parameter declarationsvalues
- a Map with parameter names as keys and parameter values
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(Class, String)
,
Query.declareParameters(java.lang.String)
,
Query.executeWithMap(java.util.Map)
Collection find(Class entityClass, String filter, String parameters, Map values, String ordering) throws DataAccessException
entityClass
- a persistent classfilter
- the JDOQL filter to matchparameters
- the JDOQL parameter declarationsvalues
- a Map with parameter names as keys and parameter valuesordering
- the ordering of the result (or null
if none)
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(Class, String)
,
Query.declareParameters(java.lang.String)
,
Query.executeWithMap(java.util.Map)
,
Query.setOrdering(java.lang.String)
Collection find(String language, Object queryObject) throws DataAccessException
Only available on JDO 2.0 and higher.
language
- the query language (javax.jdo.Query#JDOQL
or javax.jdo.Query#SQL
, for example)queryObject
- the query object for the specified language
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(String, Object)
,
Query.JDOQL
,
Query.SQL
Collection find(String queryString) throws DataAccessException
Only available on JDO 2.0 and higher.
queryString
- the single-string JDOQL query
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(String)
Collection find(String queryString, Object[] values) throws DataAccessException
Only available on JDO 2.0 and higher.
queryString
- the single-string JDOQL queryvalues
- the corresponding parameter values
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(String)
Collection find(String queryString, Map values) throws DataAccessException
Only available on JDO 2.0 and higher.
queryString
- the single-string JDOQL queryvalues
- a Map with parameter names as keys and parameter values
DataAccessException
- in case of JDO errorsPersistenceManager.newQuery(String)
Collection findByNamedQuery(Class entityClass, String queryName) throws DataAccessException
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
entityClass
- a persistent classqueryName
- the name of the query
DataAccessException
- in case of JDO errorsPersistenceManager.newNamedQuery(Class, String)
Collection findByNamedQuery(Class entityClass, String queryName, Object[] values) throws DataAccessException
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
entityClass
- a persistent classqueryName
- the name of the queryvalues
- the corresponding parameter values
DataAccessException
- in case of JDO errorsPersistenceManager.newNamedQuery(Class, String)
Collection findByNamedQuery(Class entityClass, String queryName, Map values) throws DataAccessException
Only available on JDO 2.0+ or through a vendor-specific JdoDialect.
entityClass
- a persistent classqueryName
- the name of the queryvalues
- a Map with parameter names as keys and parameter values
DataAccessException
- in case of JDO errorsPersistenceManager.newNamedQuery(Class, String)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |