Java Grails域类字符串列表未持久化

Java Grails域类字符串列表未持久化,java,grails,groovy,gorm,grails-domain-class,Java,Grails,Groovy,Gorm,Grails Domain Class,这在Grails2.5.6代码中。我有一个使用继承的域类。其中一个子类包含存储在变量value中的字符串列表。调用.save()时,域类本身使用正确的继承行为正确保存,但不会保存值。以下是我的域类: abstract class Condition implements ICondition, IMarshaler { String field; static mapping = { tablePerHierarchy false; } ... }

这在Grails2.5.6代码中。我有一个使用继承的域类。其中一个子类包含存储在变量
value
中的字符串列表。调用
.save()
时,域类本身使用正确的继承行为正确保存,但不会保存值。以下是我的域类:

abstract class Condition implements ICondition, IMarshaler {
    String field;
    static mapping = {
        tablePerHierarchy false;
    }
    ...
}

class ListCondition extends Condition {
    static hasMany = [values: String];
    List<String> values;
    ...
}

偶然发现了一个类似的问题。尝试
condition.save(flush:true)
或者更好地尝试在事务中运行持久性逻辑。这似乎起到了作用,并且被认为是最佳实践。

尝试condition.save(failOnError:true),如果出现错误,它将为您提供一些stacktrace
ListCondition condition = new ListCondition(field: 'someField', values: ['test', 'otherTest'])
condition.save()
println ListCondition.getAll()[0].values.size() // Prints 0