0

現在、サーブレットホームページ(Spring + Hibernate + mysql)を開発しています。現時点では、Hibernateプロパティhibernate.hbm2ddl.autoを更新に設定して使用しています。これは正常に機能しており、Hibernateはテーブルを作成および更新します。ただし、これは本番環境では推奨されておらず、安全ではないことを複数の場所で読んだことがあります。しかし、このオプションを指定しないと、テーブルが作成されないため、サーバー上で手動でテーブルを作成したくありません。私はこれだけで作業する時間が限られていました。

これは通常どのように行われますか?すべてのテーブルを手動で追加するのはかなり手間がかかるようです。

4

1 に答える 1

1

本番環境では、通常、失われたくない大量のデータを含む既存のテーブルがあり、新しいスキーマに移行する必要があります。Hibernateはそれを自動的に行うことはできません。以前は列Aにあったデータが、新しい列Bにある必要があることを認識していません。

したがって、移行スクリプトを作成する必要があります。もちろん、Hibernateを使用して、開発中に新しいスキーマを生成し、古いスキーマとの違いを確認し、そのおかげでスクリプトを作成することができます。しかし、はい、アプリを本番環境に移行して移行するには、いくつかの作業が必要です。

于 2013-03-15T10:30:44.680 に答える