Hibernate hbm2ddl.auto 構成の可能な値は何ですか? また、それらは何をしますか? 質問する

Hibernate hbm2ddl.auto 構成の可能な値は何ですか? また、それらは何をしますか? 質問する

更新、エクスポート、および指定できる値についてさらに詳しく知りたいのですが、hibernate.hbm2ddl.auto
更新をいつ使用し、いつ使用しないかを知る必要があります。代替手段は何ですか?

DB 上で発生する可能性のある変更は次のとおりです。

  • 新しいテーブル
  • 古いテーブル内の新しい列
  • 列を削除しました
  • 列のデータ型が変更されました
  • 列のタイプの属性が変更されました
  • テーブルが削除されました
  • 列の値が変更されました

それぞれの場合、最善の解決策は何でしょうか?

ベストアンサー1

からコミュニティドキュメント:

hibernate.hbm2ddl.auto は、SessionFactory の作成時にスキーマ DDL を自動的に検証またはデータベースにエクスポートします。create-drop を使用すると、SessionFactory が明示的に閉じられたときにデータベース スキーマが削除されます。

例: 検証 | 更新 | 作成 | 作成削除

考えられる選択肢は以下のとおりです。

  • 検証: スキーマを検証しますが、データベースには変更を加えません。
  • create-only : データベースの作成が生成されます。
  • drop : データベースの削除が生成されます。
  • update : スキーマを更新します。
  • create : スキーマを作成し、以前のデータを破棄します。
  • create-drop : SessionFactory が明示的に閉じられたとき (通常はアプリケーションが停止されたとき) にスキーマを削除します。
  • none : スキーマに対して何も行わず、データベースに変更を加えません。

これらのオプションは開発者ツールとして意図されており、実稼働レベルのデータベースを支援するものではないようです。次の質問を確認することをお勧めします。Hibernate: 本番環境で hbm2ddl.auto=update を実行しますか?

おすすめ記事