0

私はその過去のカップルの日を探していて、私を満足させる答えを見つけることができませんでした。Objectifyでカスケード削除を実行する方法は?

はい、この投稿how-do-you-implement-cascading-delete-in-objectifyと他の多くの投稿をGoogleデベロッパーフォーラムから探しました。

誰もが "それはリレーショナルデータベースとは異なる"と言いますが、誰もそれを実装していません。

これらは私のモデルであり、

大学

public class University{ 

    @Id 
    private Long id; 

    private String title; 

    List<Ref<College>> colleges = new ArrayList<>(); 
} 

大学は

public class College{ 

    @Id 
    private Long id; 

    private String title; 
} 

私はそれがきれいに見えるように、私のモデルを簡素化。私は大学とカレッジを同時に削除したいです。

この例では2つのレベルの階層がありますが、私のプロジェクトでは3つのレベルの階層があります。エンティティの子や孫を見つけて削除することは、私にとって非常に効率的ではないようです。

答えて

1

誰もが言うようにリレーショナルデータベースとは異なります。

あなたは関係を持っていないので、あなたは、定義により「すべての関連オブジェクト」を削除することはできません。各エンティティを1つずつ削除する必要があります。

0

できません。

データが実際に参照されていない階層の1つである場合は、埋め込みオブジェクトでモデル化することを検討してください。基礎となるドキュメントは1つのみです。次に、1つのデータストアエンティティ上に更新または削除が行われます。

削除したい場合は、削除したいものと削除できないものについて論理が必要です。自分でプログラムする必要があります。

関連する問題