Update: the above does work, I had an error in bootstrap.groovy that was keeping the schema from being generated in thed DB. I have to say that groovy error messages are pretty sparse and hard to decipher. Seems like dynamic languages in general have less helpful error reporting imo. Although I've only used jython much before groovy.
subject: One to many and one to one, same enity same class