2012-03-06 10 views
5

私は、アプリケーションの永続性マッピングをhibernate hbmファイルからgrailsドメインオブジェクトに移動する方法を検討しています。このスキーマは、合成列名を含む多くのGrailsの列命名規則に準拠していません。この問題のjiraがありGrails組み込みカラムマッピングを変更するには

class Foo{ 
    Bar bar 
    static embedded = ['bar'] 
    static mapping = { 
     bar.baz column:'baz' 
     bar.quz column:'qux' 
    } 
} 

class Bar{ 
    String baz, qux 
} 

:私は何をしたいと思うことはこれです。残念ながら、それは何も変わらずほぼ2年間開いています。この短いdbの列を変更するための回避策はありますか?

答えて

1

私は、カスタムあなたのバークラスののUserTypeを休止状態を作成する代わりに埋め込まれた変数を使用しての

class Bar { 
    String bar, quz 

    static mapping = { 
     baz column: "baz" 
     quz column: "quz" 
    } 
} 
2

、バーでマッピングを配置する(2.1をGrailsの)唯一の方法が現在であると考えています。私が発見した問題を回避するには、代わりに埋め込むgrails.util.Mixin @使用することです

static mapping = { 
    bar type: BarUserType, { 
     column name: "bar" 
     column name: "quz" 
    } 
} 
0

を:あなたはその後、どの列の名前が好きたいというカスタムタイプをマップすることができ

@grails.util.Mixin(Bar) 
class Foo{ 
    static mapping = { 
     baz column:'bazz' 
     quz column:'quxx' 
    } 
} 

class Bar{ 
    String baz, qux 
} 
関連する問題