Spring Сериализация данных Embeddable со ссылками ManyToOne

У меня есть интересная проблема. Моя модель данных следующая:

Наберите "А:

@Entity
@JsonIgnoreProperties(ignoreUnknown = true)
public class A {
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;
}

Тип Б:

@Entity
@JsonIgnoreProperties(ignoreUnknown = true)
public class B {
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;
}

Встраиваемый C:

@Embeddable
@JsonIgnoreProperties(ignoreUnknown = true)
public class C {
  @ManyToOne
  private A a;
  @ManyToOne
  private B b;
}

И тип D:

@Entity
@JsonIgnoreProperties(ignoreUnknown = true)
public class D {
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;

  @ElementCollection
  @OrderColumn(name = "ORDER_INDEX")
  @CollectionTable(
    name = "d_c_join",
    joinColumns = @JoinColumn(name = "d_id")
  )
  private List<C> listOfC;
}

Десериализация (и сохранение) сущностей работает нормально. Когда объект класса D сериализуется, получается следующее:

{
  "_embedded" : {
    "ds" : [ {
      "id" : 1,
      "listOfC" : [ { }, { } ],
      "_links" : {
        "self" : {
          "href" : "http://localhost:8000/ds/1"
        }
      }
    } ]
  }
}

Как настроить Spring-Data для сериализации A и B в C (лучше всего по их URI).


person Benny    schedule 13.10.2015    source источник
comment
я думаю, вы просто помечаете поля на C как нетерпеливые, верно?   -  person Chris DaMour    schedule 17.10.2015
comment
никакие весенние данные не будут просматривать поля и ссылки объекта, не зависящие от того, загружается ли он с нетерпением или лениво   -  person Benny    schedule 17.10.2015
comment
У меня похожая проблема. Отношения в объектах @Embeddable не сериализуются. Вам когда-нибудь удавалось решить эту проблему?   -  person Herbie Porter    schedule 02.07.2017


Ответы (1)


Я совершенно уверен, что вы ищете Прогнозы. Я не думаю, что Spring будет сериализовать коллекции, на которые есть ссылки, без него.

См. мой ответ здесь для получения более подробной информации: подресурс

person Nestor Ledon    schedule 19.10.2015