I am using a plugin for Grails - the Amazon S3 plugin - and the domain object provided by the plugin doesn't specify the Id Generator. I am using Postgresql and require the id genrator to be identity.
I could 开发者_StackOverflowcopy the plugin in my plugins directory and mess with the domain object provided but that doesn't sound like a clean approach.Could I add the correct id generation at runtime? Or maybe there is a better way.
If you are using 1.2, you could provide a default mapping for all your GORM classes, including generator.
grails.gorm.default.mapping = {
id generator:'sequence'
}
See more in 1.2 release notes.
I think you could copy just the S3Asset.groovy into src/groovy/. From memory, your class should override the one provided by the plugin. I've used this technique to tweak a couple of plugins until bugs were fixed. But I haven't tried it with domain classes only *GrailsPlugin.groovy files.
Also, Jean's suggestion above is a good one!
cheers
Lee
精彩评论