カスタム検索

2009年9月4日金曜日

Grails 1.1.1でDomainのsaveについて

Grails1.1.1でたまに .save() でエラーが出る事があります。
MissingPropertyException for "save" って感じなのですが、saveはメソッドなのにプロパティー扱いされてます・・・

これがまた絶対起きる訳ではなく、同じコードでもcleanしたら発生したりしなかったりとやっかいなものです。
現在は修正済みらしく、1.1.2 or 1.2では直るようです。
JIRAはこちら

JIRAにも書いてありますが、HibernateGrailsPluginの初期化がうまくいってないようです。
回避方法としてはドメインの .count とか .list とかを使うと初期化がされるようで、Bootstrap.groovy に以下を追加すれば、
すべてのドメインを初期化してくれます。


import org.codehaus.groovy.grails.commons.ApplicationHolder

class BootStrap {
def init = { servletContext ->
// workaround for GRAILS-4580
ApplicationHolder.application.domainClasses.each { dc ->
dc.clazz.count()
}
}
}

0 件のコメント: