2015-08-16 35 views
3

我使用的Grails 3.02和所有被罚款,但因为我从另一个Grails项目移动几个领域类我开始看到这个错误,当我开始做集成测试:Grails的3 ConstraintException

grails.validation。 exceptions.ConstraintException:抛出异常使用约束[唯一]类[类com.mypackage.Individual]为值[真]:org.springframework.boot[email protected]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) 
} 
} 

奇怪的是:这段代码在另一个项目中工作,但不想在这个项目中工作,在我移动到的地方。我比较了configs(application.yml和application.groovy和build.gradle) - 但都是基本相同的。

任何帮助,grails大师?

+0

尝试从电子邮件字段中删除individual_email_ids。 –

+0

您是否找到解决方案?我刚收到同样的错误 – GUL

回答

0

我想我已经找到了为什么我有这个例外。它根本与限制无关。

我刚刚在我的域类中有一些其他字段用于计算,所以它是未映射的字段。但Grails过去试图将该字段映射到真正的数据库列。一旦我已经定义了我自己的getter(在这个字段初始化的时候)这个计算的字段都变好了。

但是,grails例外btw是愚蠢的和迷失方向 - 它没有描述根本原因。