私はすでにHibernateでマップしたPersonというテーブルを持っています。私はアドレスと呼ばれる新しい列を追加する必要がありますどのように休止状態でそれを行うには?事前に既存のデータを失うことなく、hibernateを使用してマッピングされたテーブルにカラムを追加してください
おかげで..
私はすでにHibernateでマップしたPersonというテーブルを持っています。私はアドレスと呼ばれる新しい列を追加する必要がありますどのように休止状態でそれを行うには?事前に既存のデータを失うことなく、hibernateを使用してマッピングされたテーブルにカラムを追加してください
おかげで..
多分あなたは/更新データベーススキーマを作成するためにHibernateを使用するように強制されていません。
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
だけで、「検証」のマッピングに変更を行い、個別のALTER TABLE文を実行するための値を変更します。私はあなたの設定でこのような何かを持っていると仮定します。
他のオプションは、テーブル構造を更新する方法をHibernateに理解させるために "更新"を使うことです。私はそれをあなたの手に保持し、DDL SQLを手動で実行することをお勧めします。
現在のテーブルがHibernateによって生成されている場合は、addressカラムのjavaエンティティクラスにaddressプロパティを追加するだけで済みます。その後、hibernate.hbm2ddl.auto
プロパティをupdate
に設定し、次回にSessionFactory
をビルドするときに、このカラムを自動的に作成します。 hibernate.hbm2ddl.auto
がupdate
の場合、Hibernateはデータベース内のデータストアを変更しません。
また、SQLを手動で発行してテーブル構造を変更し、アドレス列のjavaエンティティクラスにaddressプロパティを追加することもできます。
hibernate.hbm2ddl.auto
をupdate
に設定する前に、この他の質問/回答:Hibernate: hbm2ddl.auto=update in production?もお読みください。
[hbm2ddl](http://www.jroller.com/eyallupu/entry/hibernate_s_hbm2ddl_tool)を使用する必要があります。 –