展平嵌套的Grails Domain对象

时间:2015-06-24 03:42:57

标签: 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")
}

1 个答案:

答案 0 :(得分:1)

正如约书亚所说,你需要一个定制的编组员。有不同的方法,但我建议this plugin