【问题标题】:Grails Domain Class String List Not PersistingGrails域类字符串列表不持久
【发布时间】:2017-06-05 16:17:01
【问题描述】:

这是在 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

【问题讨论】:

  • 尝试 condition.save(failOnError: true) 如果有错误,它会给你一些堆栈跟踪

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-13
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多