serializador personalizado único para todos los objetos anotados incrustados que los reemplaza con sus identificadores

Tengo entidades como esas:

@Entity
public Product {
   @Id
   public int id;

   public String name;

   @ManyToOne(cascade = {CascadeType.DETACH} )
   Category category

   @ManyToMany(cascade = {CascadeType.DETACH} )
   Set<Category> secondaryCategories;


}

y

@Entity
public Category {
   @Id
   public int id;

   public String name;

    @JsonCreator
    public Category(int id) {
        this.id = id;
    }

    public Category() {}
}

¿es posible anotar ya sea soloCategory clase ocategory ysecondaryCategories propiedades con una anotación que los serializará para que sean solo sus identificadores cuando estén incrustados.

ahora mismo obtengo del servidor cuando hago un GET para un producto con 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" }] 
}

¿Es posible volver:

{ 
  id: 1,
  name: "product 1", 
  category: 2, 
  secondaryCategories: [3, 4, 5]
}

AnotarCategory clase con@JsonIdentityReference(alwaysAsId = true) funciona en general, pero también devuelve solo identificadores cuando busco una o una lista de Categorías. Necesito conversión de identificación solo cuando la Categoría está incrustada.

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta