3

既存のOracleテーブルを新しいGrailsドメインオブジェクトにマップしようとしています。既存のシーケンスもあります。「run-app」を呼び出すと、エラーが発生します。

Unsuccessful: create sequence hibernate_sequence
ORA-01031: insufficient privileges

私の目標は、既存のシーケンスを使用することであり、新しいシーケンスを作成することではありません。記録として、これは私の最初のGrails/Groovyの試みです。

私のドメインオブジェクトは次のようになります。テーブル名はUicc_Inv_Detailです。PKはUICC_INV_DETAIL_IDです。他の列はUiccクラスと同じ名前です。シーケンス名はUicc_Inv_Detail_Seqです。
「idgenerator」セクション全体が間違っていると思います。

class Uicc {
  String id
  String iccid
  String imsi

  static mapping = {
    version false
    table 'Uicc_Inv_Detail'
    id generator: 'sequence',column:'UICC_INV_DETAIL_ID',
            params:  [table: 'Uicc_Inv_Detail_Seq', column: 'nextval']

  }

    static constraints = {
    }
}
4

1 に答える 1

6

使用する:

id generator:'native', params:[sequence:'Uicc_Inv_Detail_Seq']

ドキュメントは次のとおりです:http: //grails.org/doc/2.0.x/ref/Database%20Mapping/id.html http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html /mapping.html#mapping-declaration-id-generator

于 2012-11-09T01:34:27.320 に答える