As simple as possible, as complex as necessary

ColdFusion ORM by John Whish

12 October 2011

Object Relational Mapping (ORM) is one of those features of ColdFusion 9 which seem to divide people. For many it's far and away the best new feature of the latest release, while others enjoy crafting all their SQL and just can't see why they'd let a piece of software write it for them.

I tend to fall more in the latter camp, but a few months ago I decided to overcome my hesitation and get to grips with ORM. I was initially disappointed at the seeming complexity of the Hibernate integration, whilst at the same time accepting that simplicity often only becomes apparent after a period of learning.

Cover of ColdFusion ORM eBook, by John Whish
Essential reading for ORM newbies as well as the more experienced

My efforts to learn ORM consisted mainly of flitting between the official Adobe documentation and various blog posts and tutorials scattered around the web, not least among them those of John Whish. The problem with the docs is that their comprehensiveness tends to make them difficult to engage with. The problem with blog posts is that while often engaging and helpful, they normally only touch on specific points in isolation and assume a certain level of familiarity.

I wish I'd instead been able to jump-start my learning by simply sitting back and reading John's excellent new introduction to ColdFusion ORM eBook.

Even though it comes too late for me as an introductory guide, I nevertheless found numerous gaps in my existing grasp of ORM being filled as I read the opening few chapters on configuration, mappings, CRUD operations, sessions, transactions and relationships.

With a satisfying feeling of having really consolidated these concepts, I moved on to the more advanced chapters covering areas I'd only looked at superficially or not at all. I'd heard about event handling and caching but never properly understood what they meant in an ORM context, whereas performance enhancing techniques such as the "fetch" and "discriminatorColumn" attributes had passed completely under my radar.

From the basics to these more advanced options, John explains clearly what you need to know to really get the best out of ColdFusion ORM, and for anyone looking to use it for the first time there's no question this book should be your starting point.

Even if you already have a few ORM apps under your belt I would still recommend getting a copy and reading it from start to finish. You may be surprised at things you've missed, especially as John's coverage is bang up to date, including the effects of the Cumulative Hotfix issued just a few weeks ago.

I confess I'm still on the fence as to whether ORM is right me for as the default choice for application development, but thanks to this book I feel I have a much more thorough understanding of its capabilities. There's no doubt that ColdFusion ORM is a more complex topic than it might first appear, and it deserves a clearly and methodically written guide such as the one John has produced.

UPDATE 22 October 2011: John has published a paperback version in addition to the eBook. see

"ColdFusion ORM: A guide to developing applications using ColdFusion ORM" by John Whish

Posted on . Updated


  • Formatting comments: See this list of formatting tags you can use in your comments.
  • Want to paste code? Enclose within <pre><code> tags for syntax higlighting and better formatting and if possible use script. If your code includes "self-closing" tags, such as <cfargument>, you must add an explicit closing tag, otherwise it is likely to be mangled by the Disqus parser.
Back to the top