@ManyToMany 関連で CascadeType.REMOVE 属性を持つものをチェックします。
CascadeType.REMOVE を @ManyToMany に指定しても、リンクテーブル外に伝播するため、カスケード対象にする意味がありません。
相手側が親側の他のエンティティによって参照される可能性があるため、自動除去によって次の例外が発生する可能性があります: ConstraintViolationException.
たとえば、 @ManyToMany(cascade = CascadeType.ALL) が定義された状態で最初の個人が削除される場合、Hibernate は例外をスローします。別の個人がまだ削除されているアドレスに関連付けられているためです。
詳しくは、記事を参照してください。