TransactionAdvice is a little ColdSpring advice that will apply transactionality to your beans. It's smart enough to handle transaction "nesting", which is a notoriously difficult problem to deal with in CFML, because of the tag-based nature of the language. All three versions are basically identical in functionality and use.
CFML/SQL Version
In addition to transaction demarcation, you can use a custom isolation level via this version. This implementation uses CFTRANSACTION and will therefore wrap both SQL and ORM commands. However, with CF9's inital session/transaction behaviour, using CFTRANSACTION for ORM applications is rather undesirable. See the CF9 ORM version below.
- Version 3: 2010-07-23 RAILO ONLY! (post)
- Version 2: 2007-06-01 TransactionAdvice-b2307.zip (now under ASL – no code change)
- Version 1: 2006-10-22 TransactionAdvice-b1572.zip (post)
CF9 ORM Version
This is ONLY for pure-ORM apps on CF9. It does not support transactionality of SQL queries (except via the Hibernate session), and it's existence is primarily to mitigate the session/transaction coupling that exists in CF9.0. Once that bug is fixed using the standard CFML/SQL version should be preferred.
- Version 1: 2010-04-05 Cf9OrmTransactionAdvice.cfc.txt (post)
Hibernate (via CF Groovy) Version
This version is to support Hibernate via CFGroovy 1, which has been EOLed on 2010/04/05.
- Version 1: 2008-08-19 HibernateTransactionAdvice_b4173.zip (post)