我有一个带有一堆不可为空字符串的域类。对于其中一个域属性,我调用了一个自定义验证器来进行数据库检查。当我的原始域对象中有一个字段为空时,在自定义验证期间域对象会尝试刷新。这会导致“非空属性引用空值或瞬态值”错误。我将休眠刷新模式设置为手动,所以我不知道它为什么要尝试刷新。
String id
String name
String type
String description
static constraints =
{
id unique: true, nullable:false
type unique:false, nullable: false
name(unique:['type'] nullable: false, blank:false,
validator:{val, obj ->
if(val != null)
{
def result = OtherDomain.findByType(val)
if(result == null)
{
return 'foreignkey'
}
}
})
description unique:false,nullable: false
}
static mapping =
{
table 'track'
id column:'id', type: 'string', generator: 'assigned'
version false
}
没有其他域修改正在进行。这是此交易期间唯一编辑的域。