2

Grails ドメイン オブジェクトで、ドメイン オブジェクトを変更しようとしています

class Example {
    String name

    static hasMany = [objs:DomainObject]
}

class Example {
    String name
    List objs

    static hasMany = [objs:DomainObject]
}

このエラーが発生します。

ERROR errors.GrailsExceptionResolver  - HibernateException occurred when processing request: [GET] /path/path
null index column for collection: com.XXXX. Stacktrace follows:
     org.hibernate.HibernateException: null index column for collection: com.XXXXXX
    at grails.converters.JSON.value(JSON.java:174)
    at grails.converters.JSON.convertAnother(JSON.java:162)
    at grails.converters.JSON.value(JSON.java:199)
    at grails.converters.JSON.convertAnother(JSON.java:162)
    at grails.converters.JSON.value(JSON.java:199)
    at grails.converters.JSON.convertAnother(JSON.java:162)
    at grails.converters.JSON.value(JSON.java:199)
    at grails.converters.JSON.convertAnother(JSON.java:162)
    at grails.converters.JSON.value(JSON.java:199)
    at grails.converters.JSON.render(JSON.java:134)
    at grails.converters.JSON.render(JSON.java:150)
    at com.XXXXController.Method(XXXXController.groovy:161)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)`

これは本番サーバーで発生します。データベースから何も削除できませんが、空の列に入力できます。現在のデータベースのデータを修正または変更できるブートストラップで何をする必要がありますか?

4

4 に答える 4

0

Lists of Objectsを見てください。関連付けを追加する方法を変更する必要があります。抜粋からの以下の例を強調してください。

垣間見る:

// This won't work!
def book = new Book(title: 'The Shining')
book.save()
author.addToBooks(book)

// Do it this way instead.
def book = new Book(title: 'Misery')
author.addToBooks(book)
author.save()
于 2013-06-03T23:25:48.247 に答える