Grails域类字符串列表不存在

时间:2017-06-05 16:17:02

标签: java grails groovy gorm grails-domain-class

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

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

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

尝试保存新的列表条件并从数据库中再次获取它表明没有值。

ListCondition condition = new ListCondition(field: 'someField', values: ['test', 'otherTest'])
condition.save()
println ListCondition.getAll()[0].values.size() // Prints 0

1 个答案:

答案 0 :(得分:0)

偶然发现了类似的问题。尝试condition.save(flush: true)或者甚至更好地尝试在事务中运行持久性逻辑。这似乎有所不同,无论如何都被认为是最佳实践。