# Große Objekte mit JPA und Hibernate



## Audio Anarchy (24. Sep 2008)

Servus Freunde, 

ich stehe gerade vor der Frage wie ich meine Objekte in der Datenbank speichern soll. 

Ich habe beispielsweise ein großes Objekt namens "Auto". Dieses Objekt wird beispielsweise um 20 weitere Objekte erwitert wie Lenkrad, Reifen usw.

Alles in Allem hat das Objekt so an die 200 Attribute die in der DB abgespeichert werden müssen inclusive Bildern.

So nun die Frage:

1. Reicht es wenn ich die Oberklass Auto mit einem @Entitiy versehe. Werden da alle Teilobjekte beim speichern in die Datenbank automatisch mit einbezogen?

2. Wie mache ich das am Besten aus der Performance Sicht. Macht es Sinn das Objekt als Ganzes in die DB zu speichern. Bei jedem Update wird dann wohl immer das Ganze Objekt upgedated was nicht unbedingt sehr performant sein sollte, oder? Hat da jemand erfahrungen. 

Die Alternative wäre, jedes Teilobjekt einzeln in der Datenbank abzulegen, was aber etwas aufwendiger zu implementieren ist. 

Stand schon mal jemand vor dem gleichen Problem und könnte mir verraten wie man das am elegantesten löst. 

Danke.


----------



## byte (24. Sep 2008)

zu 1.) Nein. Du musst auch alle Unterklassen sowie die Referenzen untereinander annotieren.
zu 2.) Es kommt drauf an, wie Du die Kaskadierung einstellst. Wenn Du Kaskadierung für Updates deaktivierst, wird immer nur ein Objekt gespeichert und nicht seine Unterobjekte.


----------



## HoaX (24. Sep 2008)

du kannst bei hibernate auch dynamic-updates aktivieren. dann werden idR beim update nur die spalten geschrieben die sich geändert haben.


----------



## byte (24. Sep 2008)

Es ist häufig schneller einfach alles zu schreiben, anstatt zu prüfen, welche Spalten dirty sind.


----------

