gpt4 book ai didi

Grails域类 transient 集合属性 setter 问题

转载 作者:行者123 更新时间:2023-12-02 15:26:44 29 4
gpt4 key购买 nike

我正在尝试将值设置(或绑定(bind))到 transient 列表属性。但我在收藏方面失败了。
另一方面, transient String 属性在 setter 上运行良好。

Grails 2.4.3 版

有什么建议吗?

@Resource(uri = "/api/samples", formats = ["json"])
class Sample {

static transients = ["fields","sample"]

String regions
String name
String sample


List<String> fields

List<String> getFields() {
this.regions != null ? Arrays.asList(regions.split("\\s*,\\s*")) : new ArrayList<String>();
}

void setFields(List<String> fields) {
if (fields != null && !fields.isEmpty()) {
this.regions = fields.join(",")
}
}

void setSample(String sample){
this.name = sample
}

static mapping = {
}
}

最佳答案

默认情况下,无类型字段是 transient 的,因此这种替代方法应该有效(并且更简洁):

@Resource(uri = "/api/samples", formats = ["json"])
class Sample {

static transients = ["sample"]

String regions
String name
String sample


def getFields() {
this.regions != null ? Arrays.asList(regions.split("\\s*,\\s*")) : []
}

void setFields(def fieldList) {
if (fieldList) {
this.regions = fieldList.join(",")
}
}

void setSample(String sample){
this.name = sample
}

static mapping = {
}
}

关于Grails域类 transient 集合属性 setter 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26442307/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com