Ratpack Jackson (json) отображает один и тот же объект, но в другом формате ответа
Я использую RatPack 1.1.1 с Джексоном, и он по-разному отображает один и тот же объект "Продукт". Первый "Продукт" в моем главном объекте возвращается с атрибутом "productCode", но для остальных для того же продукта он возвращает только значение атрибута "product" со значением "productCode"!
Зачем? это нормально?
Ответ от рендеринга:
ProductCharacteristics=[ {
"id" : 1,
"product" : {
"productCode" : "cold-brew"
},
"attributeCode" : "family",
"attributeValue" : "Kits",
}, {
"id" : 2,
"product" : "cold-brew",
"attributeCode" : "Couleur",
"attributeValue" : "Noir",
}, {
"id" : 3,
"product" : "cold-brew",
"attributeCode" : "Matériaux",
"attributeValue" : "Verre-Plastique",
}
]
Определение моей сущности ProductCharacteristic:
@Entity
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="id")
@ToString
class ProductCharacteristic {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@JoinColumn(name = "product_code")
@ManyToOne(optional = false, fetch = FetchType.EAGER, cascade = CascadeType.MERGE)
Product product;
}
Определение моей сущности продукта:
@Entity
@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class, property="productCode")
@ToString
public class Product {
@Id
String productCode;
}
Почему ответ не такой:
ProductCharacteristics=[ {
"id" : 1,
"product" : {
"productCode" : "cold-brew"
},
"attributeCode" : "family",
"attributeValue" : "Kits",
}, {
"id" : 2,
"product" : {
"productCode" : "cold-brew"
},
"attributeCode" : "Couleur",
"attributeValue" : "Noir",
}, {
"id" : 3,
"product" : {
"productCode" : "cold-brew"
},
"attributeCode" : "Matériaux",
"attributeValue" : "Verre-Plastique",
}
]
Спасибо за вашу помощь!