grails 3 约束异常
grails 3 ConstraintException
我使用的是 grails 3.02,一切正常,但是由于我从另一个 grails 项目中移动了几个域 classes,所以当我开始集成测试时,我开始看到这个错误:
grails.validation.exceptions.ConstraintException: Exception thrown applying constraint [unique] to class [class com.mypackage.Individual] for value [true]: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6397593b has not been refreshed yet
域名class代码:
class Individual {
String institutionId
String email
static mapping = {
table 'db.individual'
id generator: 'sequence', params: [sequence: 'db.individual_id_sequence']
institutionId index: 'db.individual_institution_id_idx'
email index: 'db.individual_email_idx'
}
static constraints = {
institutionId(blank: false)
email(unique: true)
}
}
奇怪的是:这段代码在另一个项目中工作,但不想在我将它移动到的这个项目中工作。我比较了配置(application.yml 和 application.groovy 和 build.gradle) - 但基本上都是一样的。
有什么帮助吗,grails 专家?
我想我已经找到了出现此异常的原因。它与约束完全无关。
我的域 class 中只有一些其他字段用于计算,因此它是未映射的字段。但是 grails 曾经试图将这个字段映射到一个真实的数据库列中。一旦我为这个计算字段定义了自己的 getter(字段初始化),一切都变得很好。
但是顺便说一句,grails 异常是愚蠢且令人迷惑的——它根本没有描述根本原因。
我使用的是 grails 3.02,一切正常,但是由于我从另一个 grails 项目中移动了几个域 classes,所以当我开始集成测试时,我开始看到这个错误:
grails.validation.exceptions.ConstraintException: Exception thrown applying constraint [unique] to class [class com.mypackage.Individual] for value [true]: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6397593b has not been refreshed yet
域名class代码:
class Individual {
String institutionId
String email
static mapping = {
table 'db.individual'
id generator: 'sequence', params: [sequence: 'db.individual_id_sequence']
institutionId index: 'db.individual_institution_id_idx'
email index: 'db.individual_email_idx'
}
static constraints = {
institutionId(blank: false)
email(unique: true)
}
}
奇怪的是:这段代码在另一个项目中工作,但不想在我将它移动到的这个项目中工作。我比较了配置(application.yml 和 application.groovy 和 build.gradle) - 但基本上都是一样的。
有什么帮助吗,grails 专家?
我想我已经找到了出现此异常的原因。它与约束完全无关。
我的域 class 中只有一些其他字段用于计算,因此它是未映射的字段。但是 grails 曾经试图将这个字段映射到一个真实的数据库列中。一旦我为这个计算字段定义了自己的 getter(字段初始化),一切都变得很好。
但是顺便说一句,grails 异常是愚蠢且令人迷惑的——它根本没有描述根本原因。