spring - grails 3 约束异常

标签 spring grails spring-boot grails-orm grails-3.0

我使用的是 grails 3.02,一切都很好,但是由于我从另一个 grails 项目中移动了几个域类,所以当我开始集成测试时,我开始看到这个错误:

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 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 专家?

最佳答案

我想我已经找到了出现此异常的原因。它与约束完全无关。

我的域类中只有一些用于计算的其他字段,因此它是未映射的字段。但是 grails 曾经试图将这个字段映射到一个真实的数据库列中。一旦我为这个计算字段定义了我自己的 getter(字段在其中初始化),一切都变得很好。

但是顺便说一句,grails 异常是愚蠢且令人迷惑的——它根本没有描述根本原因。

关于spring - grails 3 约束异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32033353/

相关文章:

spring-boot - Spring Security - 当获取登录页面时,安全性尝试进行身份验证并返回 401 错误

java - Angular 2,无法从本地主机读取

java - 使用 Spring(AOP?)实现 Java 接口(interface)

spring-mvc - @PreAuthorize不会限制用户执行Access Controller操作

java - 无法更新 PostgreSQL 表中的字段

grails - Grails Quartz-即使没有计划,作业仍在运行

Grails 数据绑定(bind) : creating instances of an abstract class

spring - 如何为 tomcat 6 及其部署的 webapps 正确配置 JNDI?

spring - 使用 Spring Boot 和 Thymeleaf 进行分页

spring - Dispatcher-servlet 和 spring-servlet 之间的区别