# EclipseLink - JPA Models aus Datenbank erstellen



## _Andi91 (25. Jul 2012)

Hi,

ich versuche gerade mit EclipseLink aus Datenbank Tabellen Model Klassen zu generieren mit den entsprechenden JPA Annotations.
Ich habs jetzt schon soweit geschafft, dass ich mich auf die DB connecten kann, die Tabellen sehe und das Java Model aus den Tabellen generieren kann.
Wie kann ich jetzt noch sagen, dass ich die JPA Annotations mit dazu generieren lassen will und nicht blos die Attribute und die getter/setter? Oder geht das gar nicht?


----------



## nillehammer (25. Jul 2012)

Das Standardverhalten bei JPA-Annotations ist, dass nicht annotierte Felder/Getter out of the box gemapped sind. Deswegen braucht es nicht unbedingt Annotations. Nur, wenn Du selbst Dinge feintunen willst, musst Du über die Felder/Getter Annotationen setzen.


----------



## _Andi91 (25. Jul 2012)

ja schon aber Felder mit "_" werden zB in die Java Klasse ohne die "_" generiert. Hier müsste man JPA doch über die Annotation @Column den eigentlichen Spaltennamen mitgeben oder?
Und in jedem Fall muss doch der PrimaryKey definiert werden!?
Die Annotation @Entity wird auch immer benötigt oder?


----------



## nillehammer (25. Jul 2012)

_Andi91 hat gesagt.:
			
		

> ja schon aber Felder mit "_" werden zB in die Java Klasse ohne die "_" generiert. Hier müsste man JPA doch über die Annotation @Column den eigentlichen Spaltennamen mitgeben oder?
> Und in jedem Fall muss doch der PrimaryKey definiert werden!?
> Die Annotation @Entity wird auch immer benötigt oder?


Stimmt! @Entity muss immer sein. Bei Tabellen mit Primary Key braucht es in der korrespondierenden Java-Klasse auch @Id und bei Tabellen-/Spaltennamen, die sich nicht als Namen von Klassen/Feldern/Gettern abbilden lassen, braucht es die entsprechenden Annotationen. Dass da *überhaupt nichts* generiert wird ist schon komisch. Welches Eclipse-Feature benutzt Du denn für das Generieren der Java-Klassen?


----------



## _Andi91 (25. Jul 2012)

Ich benutze die EclipseLink Workbench (EclipseLink Home).

Ich habe die Datenbank Verbindung angelegt dann hab ich mir die Tabellen importiert und dann die Klassen Modelle über "Generate Classes and Descriptors from" -> "All Tables" erstellt.
Zum Schluss hab ich den SourceCode der Klassen dann noch über "Export Model Java Source" exportiert.


----------

