0

如何解决http://jira.grails.org/browse/GPJODATIME-28防止域类具有任何扩展类型的 hasMany 的问题?我正在考虑将整个应用程序切换为保留从 BigDecimal 派生的自定义 UserType 用于 posix 纪元日期。看起来就像是核桃的锤子。我可以采取另一种方法吗?

import org.joda.time.Instant    
class Foo {    
    Instant birthday 

    Set favoriteDays = []

    static hasMany = [
        favoriteDays : Instant
    ]

    static constraints = {
    }

}

4

1 回答 1

0

希望我没有在您的问题中遗漏任何内容,但我已经做过这样的事情:

创建一个名为的类MyInstant并在hasMany

import org.joda.time.Instant   
class MyInstant {
    Instant myInstant
    //anything else you might need
}

class Foo {
    MyInstant birthday

    Set favoriteDays = []
    static hasMany = [favoriteDays: MyInstant]
}

我已经在以下方面进行了测试FooController

import org.joda.time.Instant
class FooController {
   def save() {
      def fooInstance = new Foo(params)
        .addToFavoriteDays(new MyInstant(myInstant: new Instant()))
        .addToFavoriteDays(new MyInstant(myInstant: new Instant()))
        .addToFavoriteDays(new MyInstant(myInstant: new Instant()))

        if (!fooInstance.save(flush: true)) {
          render(view: "create", model: [fooInstance: fooInstance])
          return
        }

        flash.message = message(code: 'default.created.message', args: [message(code: 'foo.label', default: Foo'), fooInstance.id])
        redirect(action: "show", id: fooInstance.id)
    }
}

一切都正确保存,show然后动作显示所有瞬间的新 Foo。我已经在 H2 和 MySql 上对此进行了测试。

于 2013-02-08T21:23:31.527 回答