GORM:是否可以加载有错误的域对象?

时间:2016-05-28 18:24:45

标签: grails gorm

最近,我们在从数据库加载它们之后检查我们的域对象是否有错误的新要求:

DomainType domain = DomainType.get(longDomainTypeId)

我们现在必须在加载的域上添加错误检查:

if(domain.hasErrors()) {
    //report any errors and return failed
}

如果数据库约束与域约束(非null,VARCHAR长度等)相同,那么怎么可能出现加载错误?这是验证数据库连接是否仍然有效的检查?

我真的很想知道我们可能会在这里遇到什么问题,这不会是灾难性的app / db连接失败......

1 个答案:

答案 0 :(得分:0)

有两种类型的GORM约束

  1. 在数据库层强制执行的那些,例如可空性,最大长度
  2. 以编程方式强制执行的内容,例如那些由自定义验证器实现的
  3. 假设您的数据库架构与您的GORM约束同步,则数据可能会在您的数据库中被拒绝(2)如果:

    • 数据被写入未经GORM验证的数据库
    • 在未事先执行正确的数据迁移的情况下添加了类型(2)的约束