Spring Data REST のプロジェクトについて質問があります。
私のモデルには、EmbeddedIds を持つ 2 つのテーブルが含まれています。最初のテーブル (name=B) は、2 つの整数で構成されています。2 番目のテーブル (name=A) は、単純な FK と B のモデル (EmbeddedId を含む) で構成されます。
ここで、テーブル B をリクエストすると、2 つの ID が取得されます。ただし、テーブル A をリクエストすると、ID が取得されません。
そのため、EmbeddedId クラスの toString() メソッドをオーバーライドして、少なくとも URI リンク内の ID を返します。
BackendIdConverter または Spring core.converter について読み、ID を正しく変換しようとしましたが、目標を達成できませんでした (エラーが発生しました)。だから今、私はあなたの助けが必要です!
私の問題を完全に理解するために、これが私の構造です(デモとして):
@Embeddable
public class IDsFromA implements Serializable {
@ManyToOne
@JoinColumn(name="cID")
private C c;
@ManyToOne
@JoinColumns({
@JoinColumn(name="b_1", referencedColumnName="b_1"),
@JoinColumn(name="b_2", referencedColumnName="b_2")
})
private B b;
}
@Embeddable
public class IDsFromB implements Serializable {
private int b_1;
private int b_2;
}
@Entity
public class A {
@EmbeddedId
private IDsFromA idsFromA;
// ...
}
@Entity
public class B {
@EmbeddedId
private IDsFromA idsFromA;
// ...
}
@Entity
public class c {
@Id
private int cID;
// ...
}