Thank you very much for your reply. I assume this is not the most common way of handling this since not everyone is using ColdSpring, and not everyone is comfortable with doing AOP.
Is there another way of handling Transaction without ColdSpring / AOP? Thanks again. > Transaction demarcation is a business-tier concern, not a > persistence-tier concern. To put that another way, it's business > logic that determines which persistence ops share a transaction and > which are standalone. So it belongs in your services. > > If you're using ColdSpring, I've written a simple TransactionAdvice > CFC (http://www.barneyb. > com/barneyblog/2007/06/01/i-wanna-go-wii-part-one-transactionadvice/) > that can be used to declaratively apply transactionality to your > service objects instead of doing it in code. It also magically takes > care of nesting of your business methods (so they don't try to create > nested transactions). You give up some flexibility with this model, > of course, but that flexibility is unneeded in a majority of cases, > and the "one less thing to worry about" factor is high. > > ORM tools, since they are in the persistence layer, generally > shouldn't care about transactions. They might impose a requirement > that a transaction exists for correct behaviour (i.e. because they do > stuff in multiple statements that should be considered a unit), but > they shouldn't control where/how the transactions are applied. > > cheers, > barneyb > > On 7/27/07, henry ho <[EMAIL PROTECTED]> wrote: > > Dear CFC experts, > > > > In order to save a BO in my app, I need to update several tables in > my DB as there are PK/FK dependences. Transaction is needed, but > Where to do it, and How to do it? > > > > I use Illudium Code Generator, so every table has its own > DAO/Gateway/Service. > > > > *Where?* > > 1.) at a custom method in the parent table's DAO > > 2.) at a custom method in BO's Service layer > > > > *How?* > > 1.) call a store procedure, and let the DBMS handle the transaction > > 2.) write TSQL (in my case, Ms-sql) inside cfquery > > 2.) use cftransaction, (performance hit is quite large)? > > > > > > And lastly, how would ORM fit into the picture? How would Transfer, > for example, help me at this situation? > > > > > > Thank you, > > Henry > > > > > > -- > Barney Boisvert > [EMAIL PROTECTED] > http://www.barneyb.com/ > > Got Gmail? I have 100 invites. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Get the answers you are looking for on the ColdFusion Labs Forum direct from active programmers and developers. http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid-72&catid=648 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:284749 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

