Executes the action specified by the given callback object within a transaction.
It allows for returning a result object (a domain object or a collection of domain objects)
created within the transaction. A runtime exception thrown
by the callback is treated as an application exception that enforces a rollback.
An exception is propagated to the caller of the template.
Parameters:
aCallback - The callback object that specifies the transactional action.
Returns:
A result object or null.
Throws:
TransactionException - in case of initialization, rollback, or system errors.