HibernateがSave()関数とほぼ正確に類似したPersist()メソッドを提供する理由は、JPA使用習慣の世話をすることです。一方、save()とpersive()メソッドには別の違いがあります:save()メソッドを使用して永続オブジェクトを保存する場合、メソッドは永続オブジェクトの識別子属性値(つまり、レコードに対応するプライマリキー値)を返します。ただし、永続的なオブジェクトを保存するためにstaves()メソッドを使用する場合、メソッドには返品値がありません。 Save()メソッドは、永続オブジェクトのID属性をすぐに返す必要があるため、プログラム実行Save()は、永続的なオブジェクトに対応するデータをデータベースにすぐに挿入します。 stape()は、それが物の外部で呼ばれる場合、すぐに挿入ステートメントに変換されないことを保証します。この関数は非常に便利です。特に長いセッションプロセスをカプセル化する場合、Persist()メソッドは特に重要です。
ここに明確な区別が示されています。 (SRCに従って確認できます。実装の手順は似ていますが、まだ微妙な違いがあります)
主なコンテンツの違い:
1.一時的なインスタンスを持続させますが、識別子(識別子プライマリキーに対応する属性)が永続的なインスタンスですぐに埋められ、識別子の入力がフラッシュするまで遅延することを保証するものではありません。
2。保存して、一時的なインスタンスの識別子を維持し、時間内に生成します。識別子を返す必要があるため、すぐにSQL挿入を実行します
他のネチズンの説明:
メソッドを保存します
持続オブジェクトを保存するとき、このメソッドは、持続したオブジェクトの識別子属性値(つまり、一次キー)を返します。
このメソッドは、永続的なオブジェクトの対応するデータをデータベースにすぐに挿入します。
永続的な方法
このメソッドは値を返しません。
トランザクション以外で呼び出された場合、すぐに挿入ステートメントに変換されないことを確認してください。
長いセッションフローに適しています。