Q:

Prefix column names in GORM

with every project, I automatically run into a problem with reserved SQL word when I use properties like status or user in my Grails domain classes. 
So I always have to add a 
static mapping = {
    status column:'prefix_status'
}

to my classes. 
I now wonder if there is an easy way to prefix all columns with a given string? 
If there is nothing out of the box, I guess it would be possible to create a plugin which automagically injects such a mapping in all domain classes - can someone point me to a code example which modifies a class whenever it changes? 

A:

This is already answered in the manual:
Object Relational Mapping (GORM) - Custom Naming Strategy
Add to DataSource.groovy Config:
hibernate {
    ...
    naming_strategy = com.myco.myproj. CustomNamingStrategy
}

Custom Naming Class (under src/groovy/com/myco/myproj/CustomNamingStrategy.groovy):
package com.myco.myproj

import org.hibernate.cfg. ImprovedNamingStrategy
import org.hibernate.util. StringHelper

class CustomNamingStrategy extends ImprovedNamingStrategy {

    String propertyToColumnName(String propertyName) {
        "prefix_" + StringHelper.unqualify(propertyName)
    }
}

