2015-12-21 19 views
5

Netbeansを使用してJava EEプロジェクトを作成しています。データベースを使用してエンティティとJPAコントローラを自動的に生成しました。Netbeans生成エンティティに自動的に `insertable = false、updatable = false`を追加します。

テーブルを追加したり、既存のテーブルを更新してデータベースを更新したいとします。私のエンティティのほとんどは、データベースがcurrent_timestampを使用しています@Column

insertable = false, updatable = false 

を含むように変更されているように私はしたくない - 私はに実行する問題は、私は再生成すべてのエンティティとJPAコントローラに持っているということです。私がそれらを再生成したら、すべてのエンティティを再度修正してinsertable = false, updatable = falseを含める必要があります。

これは私が作成後に達成しようとしていることです。

あなたはから作成するオブジェクトを選択することができますし、それらを適切に選択した場合、あなたの既存のクラスを上書きしません各ステップで、2つの段階でそれを実行する必要があり
@Column(name = "CREATED_ON", insertable = false, updatable = false) 
@Temporal(TemporalType.TIMESTAMP) 
private Date createdOn; 
+0

通常、Hibernateのプロパティー「hibernate.hbm2ddl.auto」を** update **に設定すると、変更が検出されたスキーマのみが更新されるため、問題が解決されるはずです。このアプローチを試すことができますか? – Bonifacio

+0

私のプロジェクトでそのプロパティを見つけることができません – miqdadamirali

+0

もしそうなら、** persistence.xmlファイルに以下の行を含めてください: ' ' – Bonifacio

答えて

0

  1. 生成私は、既存のテーブルからエンティティを生成すると、データベース
  2. からエンティティはエンティティクラス

からコントローラを生成し、あなたが作成したいテーブルを選択します。単にこれを行い、既存のものを選択しないでください。右プロジェクトをクリックして選択し新規作成 - >その他 - >持続性(カテゴリ) - >データベースからエンティティークラスI取得するには、次のダイアログ:

enter image description hereその後

は、選択JPAコントローラを除いて同じことを行いますエンティティクラスのクラス

+1

これは、エンティティの' current_timestamp'変数に 'insertable = false、updatable = false'を自動的に追加するという質問には答えません – miqdadamirali

関連する問題