私は以下のエンティティを持っています。私は最終的な決定を下す前にいくつかの追加の考えをしたいと思います。親子データを維持する効果的な方法を休止
ポスト
@Entity
public class Post {
@Id
@GeneratedValue
private long id;
private String author;
private String content;
private String title;
@OneToMany
private List<Comment> comments;
// Standard getters and setters...
}
そして、子行
@Entity
public class Comment {
@Id
@GeneratedValue
private long id;
private String author;
private String content;
@ManyToOne
private Post post;
// Standard getters and setters...
}
ポストを保持しているエンティティは、コメントの大きな数を持つことができ、もちろんそれらのほとんどはありませんユーザーセッション中に変更されました。以下のシナリオでデータを保存する最良の方法を知りたいと思います。 1.投稿データは変更されません。 2.投稿データが変更されました。
標準的な方法は、次のコード
Post saved = postRepository.save(post);
を使用することです。しかし、あなたが唯一のコメントを追加またはポストに変更したときに、このアプローチが最も有効なのでしょうか?ここでのアプローチが異なっていれば、つまり、投稿エンティティとコメントエンティティの1対1の関係を削除し、別々に扱うかどうかです。また、データベースで更新する必要がある投稿オブジェクトに多数のコメントが含まれている可能性があり、その結果ネットワークに負荷がかかります。