Hibernate の「save」、「persist」、「update」、「saveOrUpdate」、および「merge」: いつどれを使用するか?

Mary-Kate Olsen
リリース: 2024-11-15 07:38:02
オリジナル
301 人が閲覧しました

Hibernate's `save`, `persist`, `update`, `saveOrUpdate`, and `merge`: When to Use Which?

Hibernate での保存オプション

Hibernate には、データベースにデータを永続化するための複数の方法が用意されており、それぞれが特定の目的を果たします。これらの違いを理解することは、データベースの対話を最適化するために重要です。

save

新しいエンティティを永続化し、存在しない場合は一意の識別子を割り当てます。識別子が存在する場合、更新操作を実行します。

update

既存の識別子を使用してエンティティを永続化しようとします。識別子が欠落している場合は、例外がスローされます。

saveOrUpdate

識別子の存在に基づいて、save または update を動的に呼び出します。識別子が存在しない場合は、save が使用されます。それ以外の場合は、update.

saveOrUpdateCopy

非推奨となり、merge に置き換えられます。

merge

一時的なエンティティまたは切り離されたエンティティを更新または保存するために使用されます。一時オブジェクトは一度も永続化されていない新しいオブジェクトであり、デタッチされたオブジェクトは以前に永続化されていますが、Hibernate セッションには関連付けられていません。

persist

向けに特別に設計されています。一時的なオブジェクトを保存します。 save とは異なり、生成された識別子は返されません。

正しい方法の選択

save: 新しいエンティティを保存したり、次の情報に基づいてレコードを更新したりする場合識別子。

update: 明示的に更新する場合既存のエンティティ。

saveOrUpdate: エンティティが新規か既存か不明なシナリオ用。

merge: 一時的な更新または保存用

persist: 新規保存用識別子の取得を必要としないエンティティ。

以上がHibernate の「save」、「persist」、「update」、「saveOrUpdate」、および「merge」: いつどれを使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート