0

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;

    // ...
}
4

1 に答える 1