ホームページ >Java >&#&チュートリアル >どの Hibernate 保存戦略があなたに適していますか?

どの Hibernate 保存戦略があなたに適していますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 08:42:03884ブラウズ

Which Hibernate Saving Strategy is Right for You?

Hibernate での保存戦略: 違いを解明する

Hibernate では、開発者はデータベースにオブジェクトを永続化するために自由に使える一連のメソッドを備えています。この記事では、各メソッドの複雑さを解明し、それらを使用する時期と理由についてのガイダンスを提供します。

save()、update()、saveOrUpdate()、および saveOrUpdateCopy()

save (): エンティティをデータベースに保存し、存在しない場合は識別子を割り当てます。基本的に、識別子がすでに存在する場合に更新を実行します。

update(): 既存の識別子を使用してエンティティを永続化しようとします。識別子が存在しない場合、通常は例外がスローされます。

saveOrUpdate(): save()update() ベースのどちらかを動的に選択します。エンティティがidentifier.

saveOrUpdateCopy(): (非推奨) 使用されなくなり、merge().

merge()

に置き換えられました。

merge(): を処理する際の更新に使用されます。一時的な (管理されていない) エンティティまたは切り離されたエンティティ。変更をセッションにマージし、それに応じてデータベースを更新します。

persist()

persist(): merge() と同様、ただし、生成された識別子を返さずに、一時的なエンティティを保存するためにのみ使用されます。

正しいものを選択するメソッド

選択はエンティティの状態と望ましい動作によって異なります:

  • save(): 新しいエンティティを保存するのに最適です
  • update(): 既存のエンティティをidentifier
  • saveOrUpdate(): 識別子の存在が不明な場合に便利
  • merge(): 一時的なエンティティまたは切り離されたエンティティで使用されます(直接 update() が行われない場合該当)
  • persist(): 生成された識別子を取得せずに一時的なエンティティを保存するため

以上がどの Hibernate 保存戦略があなたに適していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。