Oh man not sure how I missed this little jewel, good stuff!

Adam Haskell


On 7/27/07, Barney Boisvert <[EMAIL PROTECTED]> wrote:
>
> 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.
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
ColdFusion 8 - Build next generation apps
today, with easy PDF and Ajax features - download now
http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:284785
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4

Reply via email to