Transaction Advice

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.

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.

Hibernate (via CF Groovy) Version

This version is to support Hibernate via CFGroovy 1, which has been EOLed on 2010/04/05.