java.lang.Object | |
↳ | org.springframework.orm.jdo.JdoAccessor |
Known Direct Subclasses |
Base class for JdoTemplate and JdoInterceptor, defining common properties such as PersistenceManagerFactory and flushing behavior.
Note: With JDO, modifications to persistent objects are just possible within a transaction (in contrast to Hibernate). Therefore, eager flushing will just get applied when in a transaction. Furthermore, there is no explicit notion of flushing never, as this would not imply a performance gain due to JDO's field interception mechanism (which doesn't involve the overhead of snapshot comparisons).
Eager flushing is just available for specific JDO providers. You need to a corresponding JdoDialect to make eager flushing work.
Not intended to be used directly. See JdoTemplate and JdoInterceptor.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
logger | Logger available to subclasses |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Eagerly initialize the JDO dialect, creating a default one
for the specified PersistenceManagerFactory if none set.
| |||||||||||
Convert the given JDOException to an appropriate exception from the
org.springframework.dao hierarchy. | |||||||||||
Return the JDO dialect to use for this accessor.
| |||||||||||
Return the JDO PersistenceManagerFactory that should be used to create
PersistenceManagers.
| |||||||||||
Return if this accessor should flush changes to the database eagerly.
| |||||||||||
Set if this accessor should flush changes to the database eagerly.
| |||||||||||
Set the JDO dialect to use for this accessor.
| |||||||||||
Set the JDO PersistenceManagerFactory that should be used to create
PersistenceManagers.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Flush the given JDO persistence manager if necessary.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.beans.factory.InitializingBean
|
Logger available to subclasses
Eagerly initialize the JDO dialect, creating a default one for the specified PersistenceManagerFactory if none set.
Convert the given JDOException to an appropriate exception from the
org.springframework.dao
hierarchy.
Default implementation delegates to the JdoDialect. May be overridden in subclasses.
ex | JDOException that occured |
---|
Return the JDO dialect to use for this accessor.
Creates a default one for the specified PersistenceManagerFactory if none set.
Return the JDO PersistenceManagerFactory that should be used to create PersistenceManagers.
Return if this accessor should flush changes to the database eagerly.
Set if this accessor should flush changes to the database eagerly.
Eager flushing leads to immediate synchronization with the database, even if in a transaction. This causes inconsistencies to show up and throw a respective exception immediately, and JDBC access code that participates in the same transaction will see the changes as the database is already aware of them then. But the drawbacks are:
Set the JDO dialect to use for this accessor.
The dialect object can be used to retrieve the underlying JDBC connection and to eagerly flush changes to the database.
Default is a DefaultJdoDialect based on the PersistenceManagerFactory's underlying DataSource, if any.
Set the JDO PersistenceManagerFactory that should be used to create PersistenceManagers.
Flush the given JDO persistence manager if necessary.
pm | the current JDO PersistenceManager |
---|---|
existingTransaction | if executing within an existing transaction (within an existing JDO PersistenceManager that won't be closed immediately) |
in case of JDO flushing errors | |
JDOException |