【问题标题】:grails 3 ConstraintExceptiongrails 3约束异常
【发布时间】:2015-11-09 02:01:48
【问题描述】:

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

grails.validation.exceptions.ConstraintException:将约束 [unique] 应用于类 [class com.mypackage.Individual] 的值 [true] 时抛出异常:org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6397593b刷新了

领域类代码:

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

【问题讨论】:

  • 尝试从电子邮件字段中删除 individual_email_ids。
  • 您找到解决方案了吗?我刚刚收到同样的错误

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


【解决方案1】:

我想我找到了为什么会出现这个异常。它根本与约束无关。

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

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

【讨论】:

    猜你喜欢
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多