У меня есть интересная проблема. Мои данные-модель заключается в следующем:Spring Data Serialization of Embeddable with ManyToOne Ссылки
Тип A:
@Entity
@JsonIgnoreProperties(ignoreUnknown = true)
public class A {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
Тип B:
@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 сериализовать А и В в С (лучше бы их URI).
я думаю, вы просто отметьте поля на C как eagerload, верно? –
никакие данные весны не будут смотреться на полях и ссылки на объект, не зависящие от него, будут нетерпеливыми или ленивыми. – Benny
У меня такая же проблема. Отношения в объектах @Embeddable не сериализуются. Удалось ли вам решить эту проблему? –