


Hibernate の 'persist()' メソッドと 'save()' メソッドの違いを調べる
Hibernate では、'persist()' と 'save()' メソッド「save()」メソッドは、一時的なインスタンスを永続化するために使用されます。どちらの方法でもこの目的は達成できますが、ニュアンスは大きく異なります。それぞれの利点を理解するために、それぞれの異なる動作を詳しく調べてみましょう。
persist()
- トランザクションの依存関係: 'persist()'トランザクション境界外で呼び出された場合、INSERT ステートメントを実行する必要はありません。これは、拡張セッション/永続コンテキストを使用した長時間実行される会話で特に役立ちます。
- 識別子の割り当て: この仕様では、識別子の値が永続インスタンスにすぐに割り当てられることは保証されません。これはフラッシュ時にのみ発生する可能性があります。
save()
- 即時実行: 'persist()' とは異なります。 , 「save()」は常に INSERT ステートメントを実行して識別子を取得します。これは、トランザクションの内部か外部かに関係なく、即座に発生します。
- 識別子戻り値: 'save()' は、INSERT ステートメントが実行されたことを示す識別子を返します。
追加の区別:
フォーラムの投稿で述べたように、「persist()」は「明確に定義されている」、つまり一時的なインスタンスを厳密に永続化することを意味します。一方、'save()' は、INSERT や識別子の取得など、より広範な機能を提供します。
結論:
'persist()' と ' のどちらかを選択する場合save()' を使用する場合は、次のガイドラインを考慮してください。
- 長時間実行される会話や、即時識別子の割り当てが重要ではない状況では、'persist()' を使用すると、INSERT の遅延が可能になり、柔軟性が向上します。
- 識別子 (ID ジェネレーターなど) を取得するために即時 INSERT が必要な場合は、「save()」が適切な選択です。
以上が質問の形式を強調した、いくつかのタイトルのオプションを次に示します。 * Hibernate \'persist()\' と \'save()\': どちらの方法を使用する必要がありますか? * Hibernate の「persist()」が正しい選択となるのはどのような場合、またどのような場合にの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール
