grails - 展平嵌套的Grails Domain对象

标签 grails gorm

关于此question,具有以下Grails的domain类集:

class Hero {
    String name
    Float level

    static hasOne = [familiar: Familiar]
}

class Familiar {
    String name
    Integer raceId

    static belongsTo = [hero: Hero]
}

如何从以下位置更改Hero的查询结果:
[
    name: "Emphraim",
    level: 99.0,
    familiar: {
        name: "Mhyrr",
        raceId: 1
    }
]

到一个扁平的:
[
    {
        "name": "Ephraim"
        "level": 99.0,
        "familiar_name": "Mhyrr"
        "familiar_raceId": 1
    }
]

没有一个一个地映射到新的HashMap?我使用以下代码查询Hero类:
def hero = Hero.find {
    eq("name", "Ephraim")
}

最佳答案

如Joshua所述,您将需要一个自定义编码器。有不同的方法,但我建议this plugin

关于grails - 展平嵌套的Grails Domain对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31017216/

相关文章:

grails - 关联中的GORM和复合键

grails - Grails从2.4.5升级到3.3.2:关系 'xxx'不存在

grails - 您最大的 Grails 项目的 "grails stats"的输出是什么?

grails - 在 Controller 中加载HTML的代码段

grails - Grails中的createCriteria和列表语法

grails - Grails Gorm查询限制

grails - Grails对象不是声明类的实例

constraints - 从grails约束验证返回域对象

validation - 如何使用Grails命令对象编写日期验证器?

jquery - JQuery在生产环境中不起作用