1

Grailsを使い始めたばかりで、古いMSSQL DBがあり、その上に新しい派手なGrailsUIが必要です。これまでのところ私はこのコードを持っています

class Foo {
    version false
    columns {
        id column: 'legacy_id'
        bar column: 'legacy_column_1'
        baz column: 'legacy_column_2'
    }

    static transients = ['oldId']

    public int getOldId() { id }

    int id
    int bar
    String baz
}

そしていくつかの余分な足場など。1つを除いてすべてが正常に機能します。つまり、Grailsに「OldId」という名前の列をビューに表示させたり、列IDを表示させたりすることはできません。私が微調整するものは何でも、私は常にリストビューの列バーとbazで終わるだけです。

インターネットはこのトピックに関してかなり静かなので、ここで明らかな何かが欠けていて、これは本当に単純であるか、またはグーグルのスキルを磨く必要があります...

4

1 に答える 1

0

mappingいくつかのものをブロックに入れる必要があります

class Foo {

  static mapping = {
    version false
    table 'old_foo'  // whatever you legacy table name is
    id column: 'legacy_id'
    bar column: 'legacy_column_1'
    baz column: 'legacy_column_2'
  }

  static transients = ['oldId']

  public int getOldId() { id }

  int id //not really needed
  int bar
  String baz
}

generate viewsorを使用して足場を作成すると、 orがビューにgenerate all自動的に追加されませんが、自分で追加して、そこにあることを確認できますidoldId

${fooInstance.id}
${fooInstance.oldId}

また、特別に設定する必要はありませんint id。GORM が自動的に作成します。

最後にもう 1 つ - DataSource.groovy ファイルで、次のdbCreate行でデータベースを変更しないように注意してください。従来のデータベースを使用する場合は、通常、完全にコメントアウトします。

于 2012-12-06T21:10:20.793 に答える