JPAは、カスケード の可能性を提供します。 関連するエンティティへの操作(マージ、永続化、更新、削除)。ロジックはJPAにあり、データベースカスケードを利用しません。
@OneToMany(cascade=CascadeType.REMOVE)
データベースカスケードを使用してカスケードを実行するJPA標準に準拠した方法はありません。このようなカスケードが望ましい場合は、Hibernate固有の構成にフォールバックする必要があります: @ OnDelete
。 @OneToMany
で動作します 少なくとも、しかし過去には@OneToOne
でいくつかの問題がありました および@OnDelete
。
@OnDelete(action = OnDeleteAction.CASCADE)
このアノテーションを既存の制約に追加しても更新されないことに注意してください。スキーマを適切に更新するには、最初に手動でドロップする必要がある場合があります。