1
grails 1.3.7から2.0.1へのアップグレード後コントローラ内のコマンドオブジェクトを検証する際にfollwongの奇妙な例外が発生しました。grails upgrade 2.0.1コマンドオブジェクトの妥当性確認エラー
groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method org.codehaus.groovy.grails.orm.hibernate.HibernateGormValidationApi#validate.
Cannot resolve which method to invoke for [class at.pdts.etsweb.commandobject.UserCommand, null] due to overlapping prototypes between:
[class java.lang.Object, interface java.util.List]
[class java.lang.Object, interface java.util.Map]
at org.grails.datastore.gorm.InstanceMethodInvokingClosure.call(GormEnhancer.groovy:251)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
マイUserCommandコマンドオブジェクトは次のようになります。次のように
package at.pdts.etsweb.commandobject
import at.pdts.etsweb.Common
import grails.validation.Validateable
@Validateable
class UserCommand {
String username
String password
String firstname
String lastname
static constraints = {
username blank: false, email: true
password blank: false, minSize: 8, maxSize: 64, validator: Common.passwordValidator
firstname blank: false
lastname blank: false
}
}
コントローラは、データをバインドします
def save { UserCommand command ->
...
}
私は上記のエラーメッセージが出ていこの時点で。私は引数save(UserCommandコマンド)としてコマンドオブジェクトを使用しようとしましたが、効果はありません。誰かがいくつかのヒントを持っていますか?