【发布时间】:2016-06-17 14:16:43
【问题描述】:
我有一个 Grails 3.1.2 应用程序
我的域类之一是目标
import java.time.LocalDateTime
import java.time.temporal.ChronoUnit
class Goal {
String name
String description
LocalDateTime targetDate
Date dateCreated
Date lastUpdated
static constraints = {
name(nullable: false, blank: false)
}
}
当我对我的 Goal 实例调用 validate 时,我得到:
- 字段“targetDate”上的对象“com.liftyourgame.model.Goal”中的字段错误:拒绝值 [2016-01-28T15:10:39.000Z];代码 [com.liftyourgame.model.Goal.targetDate.typeMismatch.error,com.liftyourgame.model.Goal.targetDate.typeMismatch,goal.targetDate.typeMismatch.error,goal.targetDate.typeMismatch,typeMismatch.com.liftyourgame.model. Goal.targetDate,typeMismatch.targetDate,typeMismatch.java.time.LocalDateTime,typeMismatch];参数 [targetDate];默认消息 [找不到匹配的构造函数:java.time.LocalDateTime(java.lang.String)]
如何更改验证使其不需要此构造函数?
【问题讨论】:
-
嗨安德烈亚斯,这不是真正的重复。我正在使用来自 org.hibernate:hibernate-java8:5.1.0.Final 的映射 休眠模式验证在启动时传递,将 LocalDateTime 字段映射到 MySQL DateTime 字段类型
-
@Andreas 这里描述的问题与休眠或持久性无关。该问题与默认数据绑定器有关。
标签: java grails grails-orm grails-domain-class java-time