2015-12-21 3 views
5

Ich arbeite an einem Java EE-Projekt mit Netbeans. Ich habe automatisch die Entitäten und JPA-Controller generiert, die die Datenbank verwenden.Automatisches Hinzufügen von `insertable = false, updatable = false` zu ​​Netbeans-generierten Entitäten

Ich möchte jetzt die Datenbank aktualisieren, indem Sie weitere Tabellen hinzufügen oder vorhandene aktualisieren. Problem, das ich in laufen ist, dass ich neu generiert werden alle Entitäten und JPA-Controller - das möchte ich nicht als die meisten meiner Einheiten modifiziert sind

insertable = false, updatable = false 

im @Column aufzunehmen, wo die Datenbank verwendet current_timestamp . Wenn ich sie neu generiere, muss ich alle Entitäten erneut ändern, um die insertable = false, updatable = false einzuschließen.

Dies ist, was ich nach der Erstellung erreichen möchte.

@Column(name = "CREATED_ON", insertable = false, updatable = false) 
@Temporal(TemporalType.TIMESTAMP) 
private Date createdOn; 
+0

Normalerweise sollte das Festlegen der Hibernate-Eigenschaft 'hibernate.hbm2ddl.auto' auf ** update ** nur Ihr Schema aktualisieren, in dem Änderungen erkannt werden, sodass es Ihr Problem lösen sollte. Können Sie diesen Ansatz versuchen? – Bonifacio

+0

Ich kann diese Property in meinem Projekt nicht finden – miqdadamirali

+0

Wenn ja, fügen Sie bitte folgende Zeile in Ihre Datei ** persistence.xml ** ein: ' ' – Bonifacio

Antwort

0

Sie müssen es in 2 Schritten tun, bei jedem Schritt, den Sie die Objekte aus erstellen wählen können, und wenn Sie sie richtig wählen, werden Sie nicht über Ihre vorhandenen Klassen schreiben:

  1. generieren Einheiten aus der Datenbank
  2. generieren Controller von Entitätsklassen

Wenn ich Objekte aus vorhandenen Tabellen zu generieren, wählen Sie die Tabellen, die Sie erstellen möchten. Tun Sie das einfach und wählen Sie nicht die vorhandenen aus. Rechtsklick auf das Projekt und wählen Sie Neu-> andere-> Persistence (Kategorie) -> Entitätsklassen Aus Datenbank Ich erhalte den folgenden Dialog:

enter image description here

Dann das gleiche tun, außer wählen JPA-Controller Klassen von Entitätsklassen

+1

Dies beantwortet nicht die Frage, ob' insertable = false, updatable = false' automatisch zur Variable 'current_timestamp' in der Entity hinzugefügt werden soll – miqdadamirali