Index: main/java/org/exolab/castor/jdo/Database.java =================================================================== --- main/java/org/exolab/castor/jdo/Database.java (Revision 5980) +++ main/java/org/exolab/castor/jdo/Database.java (Arbeitskopie) @@ -47,6 +47,7 @@ package org.exolab.castor.jdo; +import org.castor.persist.TransactionContext; import org.exolab.castor.mapping.AccessMode; import org.exolab.castor.persist.PersistenceInfoGroup; import org.exolab.castor.persist.spi.Identity; @@ -569,5 +570,12 @@ * @throws PersistenceException If the underlying JDBC connection cannot be obtained. */ public java.sql.Connection getJdbcConnection() throws PersistenceException; + + /** + * Gets the current Castor transaction in use. + * @return the current Castor + * @throws TransactionNotInProgressException If there's no transaction in progress. + */ + public TransactionContext getCurrentTransaction() throws TransactionNotInProgressException; } Index: main/java/org/exolab/castor/jdo/engine/AbstractDatabaseImpl.java =================================================================== --- main/java/org/exolab/castor/jdo/engine/AbstractDatabaseImpl.java (Revision 5980) +++ main/java/org/exolab/castor/jdo/engine/AbstractDatabaseImpl.java (Arbeitskopie) @@ -534,5 +534,16 @@ } } } + + /** + * @inheritDoc + * @see Database#getCurrentTransaction() + */ + public TransactionContext getCurrentTransaction() + throws TransactionNotInProgressException + { + return getTransaction(); + } + }