Я пытаюсь сделать один ко многим отображения доменов в grails.Here являются два класса:Grails как JSONify объект домена, включая его вложенные классы домена?
class TNDetails {
String tn
String tnpk
static hasMany = [iccid: ICCID]
static mapping = {
table 'ni_tn'
version false
tnpk column : 'TN_PK'
tn column: 'TN'
id column: 'TN_PK',name: 'tnpk'
}
}
class ICCID {
String sim
String customer
static belongsTo = [tn: TNDetails]
static mapping = {
table 'ni_sim'
version false
sim column: 'ICCID'
customer column: 'CUSTOMER'
tn column: 'TN_FK'
id column: 'SIM_PK'
}
}
Соответствующий запрос можно записать в виде: select TN,ICCID from ni_tn,ni_sim where ni_tn.TN_PK = ni_sim.RELATED_TN and tn_pk=1290
.Теперь в мой контроллер, когда я получать детали, передавая tn_pk так:
def index() {
def pk = params.tnPK
def details = TNDetails.findAll {
(tnpk == pk)
}
respond details
}
я получаю следующий результат: [ { "class": "com.evolving.resource.tn.TNDetails", "id": 1290, "tnpk": "1290", "iccid": [ { "class": "com.evolving.resource.iccid.ICCID", "id": 4209 } ], "tn": "447400002035" } ]
Теперь проблема здесь оно не displayin g атрибуты sim
и customer
(из класса ICCID). Как я могу отобразить эти два параметра. Что я здесь делаю неправильно?
Что вы имеете в виду атрибуты отображения? С вашей точки зрения? Можете ли вы представить более подробный пример? – saw303
@ saw303: Нет такого представления. Я возвращаю объект JSON, и в JSON отсутствуют атрибуты «sim» и «cutomer». – amit
Что произойдет, если вы используете 'log.debug details as JSON' в вашем контроллере? Каков результат? Какую версию Grails вы используете? – saw303