どのようにALTER TABLEに自動DDL =更新にJPAでのエンティティを変更することにより、

チェンヤン:

私は、エンティティ変更UserInfoEntityのモバイル」から「機動」から、変数名を、そして私は私のサーバーを再起動します。私はテーブルを見たとき、私は、テーブルが列「機動」を削除していないことがわかりました。ここでは、エンティティの私の変化です。

これから;

@Entity
@Table(name = "pe_userinfo")
public class UserInfoEntity {
    private String moblie;
}

これまで、

@Entity
@Table(name = "pe_userinfo")
public class UserInfoEntity {
    private String mobile;
}
buræquete:

使用auto-ddl=create-drop全体に障害のあるスキーマをドロップ&固定列の値でそれを再作成するには、次のように更新スキーマを持つことはできません。

また、チェック休止状態を:生産中hbm2ddl.auto =更新を?それが言うように、むしろ、既存のスキーマに、このような変更を処理するためにHibernateを使用するよりも、自分で手動で、このようなケースを処理することをお勧めします。

エクストラアイデア

あなたのデータを保存したい場合は、

  • あなたのデータを保持するために別のテーブルを作成することができます pe_userinfo_temp
  • お使いの製品を展開し、自動DDLが作成されます。 pe_userinfo_temp
  • データをコピーするためにJPAロジックを使用pe_userinfo- >pe_userinfo-temp
  • テーブルをドロップpe_userinfoデータソースから手動
  • であなたのコラムを修正するpe_userinfo自動DDLはそれを作成しますが、空になります
  • データをコピーするために同様のJPAロジックを使用pe_userinfo_temp>新しいです-pe_userinfo
  • そして、最後にドロップしpe_userinfo_temp、データソースからソースコード&ドロップから

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=222306&siteId=1