Java アプリケーションの永続性を管理するために Hibernate を使用しています。A 側で定義されているエンティティ A と B の間の ManyToMany 関係を取得しました (A には B のコレクションがあります)。
テーブル B からオブジェクトを削除すると、エンティティ A のコレクションからも削除されるようにしたいのですが、Hibernate で JoinTable の外部キーを "on delete cascade" にする必要があることを定義する方法がわかりません。 "。
誰かが私を助けてくれれば幸いです。
編集: コード例:
@Entity
public class A {
@ManyToMany
@JoinTable(name = "aToB", joinColumns = { @JoinColumn(name = "aFk") }, inverseJoinColumns = { @JoinColumn(name = "bFk") })
public Collection<B> getBs() { ... }
public void setBs(Collection<B> bs) { ... }
}
データベースを見ると、次のコマンドでテーブル aToB が作成されました。
CREATE TABLE aToB
(
afk integer NOT NULL,
bfk integer NOT NULL,
CONSTRAINT aToB_pkey PRIMARY KEY (afk , bfk ),
CONSTRAINT fk156d338f71d2c983 FOREIGN KEY (afk)
REFERENCES a (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk156d338fa35ac77c FOREIGN KEY (bfk)
REFERENCES b (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
私が実際にbfkの外部キーに「ON DELETE CASCADE」を持つことは何ですか。