7
興味深い問題があります。ManyToOne参照で埋め込み可能なSpringデータのシリアル化
タイプ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"
}
}
} ]
}
}
は、どのように私はCでAとB(最高は、そのURIすることによる)をシリアル化するために春データを設定することができます。
を私は右、あなただけeagerloadとしてCのフィールドをマークだと思いますか? –
フィールドにspring-dataが表示されず、それに依存しないエンティティの参照が熱心に実行されているか、遅延読み込み中です – Benny
私は同様の問題を抱えています。 @Embeddableオブジェクトの関係がシリアル化されていません。あなたはこの問題を解決することができましたか? –