Только что обновил ответ
я есть такие лица:
@Entity
public Product {
@Id
public int id;
public String name;
@ManyToOne(cascade = {CascadeType.DETACH} )
Category category
@ManyToMany(cascade = {CascadeType.DETACH} )
Set<Category> secondaryCategories;
}
а также
@Entity
public Category {
@Id
public int id;
public String name;
@JsonCreator
public Category(int id) {
this.id = id;
}
public Category() {}
}
Можно ли аннотировать либо простоCategory
класс илиcategory
а такжеsecondaryCategories
свойства с аннотацией, которая будет сериализовать их, чтобы они были просто их идентификаторами, когда они встроены.
Прямо сейчас я получаю с сервера, когда я делаю GET для продукта с id = 1:
{
id: 1,
name: "product 1",
category: {id: 2, name: "category 2" },
secondaryCategories: [{id: 3, name: "category 3" },
{id: 4, name: "category 4" },
{id: 5, name: "category 5" }]
}
можно ли вернуться:
{
id: 1,
name: "product 1",
category: 2,
secondaryCategories: [3, 4, 5]
}
АннотированиеCategory
класс с@JsonIdentityReference(alwaysAsId = true)
работает в целом, но также возвращает только идентификаторы, когда я выбираю одну или список категорий. Мне нужно преобразование идентификатора только тогда, когда Категория встроена.
Спасибо!