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&nbsp;clase ocategory&nbsp;ysecondaryCategories&nbsp;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&nbsp;clase con@JsonIdentityReference(alwaysAsId = true)&nbsp;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!