1

まず第一に、私は Hibernate テクノロジの初心者です。(まあ、実際には、いくつかのプロジェクトで使用しました)。しかし、私はこれについてあなたの意見を知りたいです。Hibernate アノテーションを使用して、データベースのすべてのテーブルを次のように作成します。

  • "hibernate.hbm2ddl.auto=create-drop" の使用 (何度も何度も) 必要なデータベース モデルを最終的に取得するまで。

  • 次に、Hibernate によって生成されたデータベース モデルから SQL スクリプトを取得しようとします (例として Workbench を使用)。

  • データベースを削除し、再度作成しますが、SQL スクリプトを使用しています。

  • その後、私のプロジェクトでは、プロパティ「hibernate.hbm2ddl.auto=create-drop」を「hibernate.hbm2ddl.auto=update」に変更します。

知りたいのですが、Hibernate を正しい方法で使用していますか? または、何よりもまず最初にデータベース モデルを作成することを常にお勧めします。(または、どのようなプロジェクトに取り組んでいるかによって異なります)

スペルミスがある場合は、申し訳ありません。

4

2 に答える 2

1

あなたのアプローチは受け入れられます、これはあなたが通常プロトタイプを作りそして新しいプロジェクトから始める方法です。ただし、安定したら、もう少しアクションを実行する必要があります。まず、Hibernateによって生成されたスクリプトを調べます。外部キー名、制約、データ型などをカスタマイズします。これらは必ずしも完全ではありません。

updateさらに、戦略に気をつけてください。常に正しいとは限りません。現実の世界では、アプリケーションの最初のバージョンをロールアウトすると、データベースの移行を管理するためのなどのより安定したツールが必要になります。

于 2013-02-02T20:17:27.093 に答える
0

これは開発環境では問題ないと思いますが、本番環境では明らかにテーブルを削除できません。

以前は、Hibernate がローカルにテーブルを作成できるようにしていたが、qa とステージングで SQL ddl スクリプトを使用していた同様の問題がありました。データ型の不一致の問題に遭遇しました。

そのため、データ型などが常に一致していることを確認する必要があります。

ベスト プラクティスは、prod on dev で行っていることを正確に反映し、同じ SQL スクリプトを使用してテーブルを作成することだと思います。

于 2013-02-02T20:18:00.017 に答える