Como trocar @JsonBackReference e @JsonManagedReference com base em qual entidade é referência

Estou tentando encontrar uma maneira de trocar o @JsonBackRefence e o @JsonManagedReference com base na entidade que eu refiro no repositório associado.

Site.java

@Entity
@Table(name = "Site")
public class Site {

    @Id
    private String id;

    @OneToMany(mappedBy="site")
    @JsonManagedReference
    private List<Building> buildings;
}

Building.java

@Entity
@Table(name = "building")
public class Building{

    @Id
    private String id;

    @ManyToOne
    @JoinColumn(name = "SITE_ID")
    @JsonBackReference
    private Site site;
}

SiteRepository.java

public List<Site> findAll(); //Works as intended

BuildingRepository.java

public Building findById(buildingId); //Works if references are swapped

No entanto, ao chamar findById (buildingId), desejo que o @JsonBackReference seja trocado. Portanto, o @JsonBackReference está no Site.java e o @JsonManagedReference está na entidade Building.java.

Nota:@JsonIdentityInfo O almosts lida com isso, mas ele fornece muitas informações, ou seja: quando eu chamo findById (buildingId) do BuildingRepository, ele fornece todos os edifícios do site associado ao edifício encontrado.

questionAnswers(1)

yourAnswerToTheQuestion