Spring の spring.jpa.hibernate.ddl-auto の影響を理解する
Spring では、spring.jpa.hibernate.ddl -auto プロパティは、データベース スキーマ管理において重要な役割を果たします。このプロパティは、特にスキーマの作成と更新のコンテキストにおいて、Hibernate が基礎となるデータベースとどのように対話するかを決定します。
spring.jpa.hibernate.ddl-auto はどのように機能しますか?
spring.jpa.hibernate.ddl-auto プロパティは、Hibernate の hibernate.hbm2ddl.auto 構成プロパティをミラーリングします。これは、Hibernate が永続エンティティのデータベース スキーマを管理する方法を制御します。主なオプションは次のとおりです。
-
create: この値は、Hibernate に既存のスキーマを削除し、定義されたエンティティ マッピングに基づいて新しいスキーマを作成するように指示します。
- create-drop: create と似ていますが、各セッションが閉じた後にスキーマも削除します。シナリオのテストに最適です。
-
validate: このオプションは、エンティティ マッピングに対して既存のスキーマをチェックし、矛盾が検出された場合はエラーを生成します。
-
update : Hibernate は既存のスキーマとエンティティ マッピングを比較し、スキーマを次のように更新しようとします。
-
none: Hibernate は既存のスキーマをそのまま残します。スキーマの変更は実行されません。
開発および実稼働に関する推奨事項
-
開発: 開発環境では、create- Drop を使用すると、開発およびテスト中にデータベース スキーマを迅速に作成してテストできます。これにより、アプリケーションを再起動するたびにクリーンなスキーマで開始するための迅速かつ便利な方法が提供されます。
-
Production: 運用設定では、 spring.jpa.hibernate.ddl-auto を none に設定します。強くお勧めします。これにより、データベース スキーマの変更が、制御およびテストされた移行スクリプトを通じて処理されることが保証されます。このアプローチにより、データベースの安定性が維持され、運用スキーマへの誤った変更が防止されます。
以上がSpring では「spring.jpa.hibernate.ddl-auto」がデータベース スキーマをどのように管理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。