# Mapping SQL mit Klasse



## Fohnbit (12. Jul 2018)

Hallo,

gibt es eine Möglichkeit, ähnlich wie bei Gson, das ich eine Klasse auf Basis einer SQL Tabelle erstelle .. diese fülle und wieder zurückschreibe?

Mit Gson klappt das ja super, und man kann sich die Klasse gleich online erzeugen lassen:
https://app.quicktype.io/

Nun habe ich aber Tabellen mit ca. 30 Spalten. Ich muss mal 10 Tabellen mit je 30 Variabeln erzeugen, die nach dem Select füllen und danach wieder mit einem Insert oder Update in die Datenbank zurückschreiben.

Wäre schön wenn ich die Klasse von einem "SQL CREATE" online erzeugen lassen könnte und danach die ganze Klasse als "INSERT" oder "UPDATE" in die Datenbank sende.

Das befüllen der Klasse passiert immer manuell, da sie Quelldaten von einer anderen Abfrage kommen.

Danke!


----------



## mrBrown (12. Jul 2018)

Das Pendant zu GSON wäre JPA (bzw eine JPA-Implementation), afaik kann z.B. Eclipse die entsprechenden Klassen aus gegebenen Tabellen generieren.



Fohnbit hat gesagt.:


> Nun habe ich aber Tabellen mit ca. 30 Spalten. Ich muss mal 10 Tabellen mit je 30 Variabeln erzeugen, die nach dem Select füllen und danach wieder mit einem Insert oder Update in die Datenbank zurückschreiben.
> 
> Wäre schön wenn ich die Klasse von einem "SQL CREATE" online erzeugen lassen könnte und danach die ganze Klasse als "INSERT" oder "UPDATE" in die Datenbank sende.
> 
> Das befüllen der Klasse passiert immer manuell, da sie Quelldaten von einer anderen Abfrage kommen.


Was du damit aussagen willst erschließt sich mir aber bisher noch nicht so wirklich...

Du hast irgendeine Tabelle bereits gegeben, brauchst zu dieser die entsprechenden Klassen, möchtest davon dann Objekte der Hand "befüllen" und in der DB speichern?


----------



## Thallius (12. Jul 2018)

Stellt sich die Frage wozu dann Klassen? Wenn die Quelle eine DB Tabelle ist und das Ziel ebenfalls, dann kann man das mit einem Script sicher einfacher und schneller lösen als eine OOP Software darum herum zu bauen.


----------



## Fohnbit (16. Jul 2018)

Hallo,

danke für die Antworten.

Also ich bekomme Daten über eine JSON Schnittstelle, die in eine Klasse serialisiert (wenn man das so bezeichnet?) werden.
Diese muss ich in leicht geänderter Form in eine Postgre SQL Datenbank schreiben.

Ich dachte ich erstelle eine Klasse mit entprechenden Variablen (wie bei der JSON Serialisierung) und dann mach ich nur mehr in Insert oder Update.

Aktuell muss ich halt jeden einzelnen Wert dem Feld in der Query zuweisen ... geht zwar aber dachte vielleicht gibts sowas wie bei GSON damit ich gleich die Klasse in die DB schreibe, welcher die Variablenamen den Spalten entsprechen.


----------



## httpdigest (16. Jul 2018)

@mrBrown hatte dir bereits JPA empfholen. Zum Beispiel per Hibernate oder EclipseLink.

```
JSON -------------> Instanz einer Klasse --------------> Entität in der Datenbank
      Mapping via                         O/R Mapping
         GSON                              via JPA
```


----------



## Fohnbit (16. Jul 2018)

Hallo,

ja danke ... das werde ich ausprobieren!


----------



## mihe7 (16. Jul 2018)

Wobei mir noch nicht ganz klar ist, wofür er zusätzliche Java-Klassen haben will/braucht.


----------



## Thallius (16. Jul 2018)

Diese Aufgabe ist ganz klar mehr gemacht für eine scriptsprache. Java ist hier fehl am Platz. Im Python, PHP oder ähnlichen hast du das in 5min fertig und schneller ist es auch.


----------

