これは実際問題ではありませんが、開発中に時には迷惑なことです。私はいくつかのエンティティを持っているとしましょう(dbはそれらのエンティティに基づいて作成されていますが、それ以外のものは作成されていません)、カラムを追加したり、カラムなどを削除したりしました。JPAによるデータベース設計の変更
これを行うにはどうすればよいですか?私は時々Glassfishを再起動する必要があります。時にはそれを配備するだけで十分です。再起動しても手動でテーブルを消去する必要がある場合があります。 persistence.xml
の私の戦略はCreate
に設定されていますが、他のオプションは本当に私を助けませんでした。
エンティティからデータベースへの変更をコミットするための標準的なアプローチはありますか?
はい、これも私がやっていることですが、データを失うことはありません(それぞれ気にしますが、私はそれを避けることはできません)。しかし、私の質問のポイントは、時にはデータベースに変更を加えるのに多くの時間がかかり、プロセスをスピードアップするために何をすべきかわからないということでした(サーバーやデプロイメントを再起動する必要がある場合など) –
サウンドIDEやビルド+特定の状況を展開するようなものです。 asadminを使用してアプリケーション(ear-file)を再デプロイする場合、CREATE-DROPは正しく実行され、glassfishの再起動は必要ありません。 maven-scriptやnetbeans/eclipse /などを介してデプロイする場合は、何らかの設定上の問題や、一般的なキャッシュ/ tmp-dirの問題があるかもしれません。 – esej