For those of you wondering how Grails in Action is progressing, the answer is… great! I’ve been sick for the last month with pneumonia which, as you can imagine, has slowed things down a little my end :-).

The good news is that we’re on track for a 2/3 review next month which should see a whole bunch of new chapters out in the wild. I’ve finished the one on messaging and scheduling, Peter has new work describing the overhauls Plugin mechanisms and Testing capabilities in Grails 1.1, and I’ll have Part II finished which we’re reworking as a “Scratch to Productive” section for the Java developer transitioning (but there’s lots of fun and interesting stuff planned in there for even the seasoned Grails dude).

One of the things that came out of our 1/3 review was better coverage of legacy db issues, so there’s a whole new section of the “Advanced GORM Kungfu” chapter (8) dedicated solely to this. Based on some work I’ve been doing in the real world, the section is called “Mapping the Legacy Db from Hell”. It looks something like this:

A legacy db model

This bad boy gets very deceiving under the covers. Some of those many-to-manys have attributes on the join table, there are tons of key styles (including assigned and increment), there are various primary key types (including shorts and even chars!), there’s even denormalised relations, and to top it all off the naming is style by DBA hungarian. It’s pure evil. Check out the mapping file for a glimpse inside the madness.

Anyways, in the new section we walk you through using your existing hbm.xml file with some standard POJO DTOs, then, if you haven’t run screaming from the building, we do the mapping over with GORM legacy DSL. It should certainly give you a pretty complete picture of what’s doable!

I’ve already completed the hibernate mapping section, which you can pull from the Ch08 San Gria code on github. I’m working the GORM DSL stuff over the coming week. It should be a ball!

Feels so good to be well and back on the blogosphere! Health is a beautiful thing…