DTO <> Entity Hibernate Spring Boot

Diskutiere DTO <> Entity Hibernate Spring Boot im Datenbankprogrammierung Bereich.
NicoDeluxe

NicoDeluxe

Verwirrt🤓

heißt also ich kann Entities innerhalb meines Programms nutzen?
Erst wenn ich was an andere Systeme gebe kann/sollte man DTO nehmen

Oder auch hier: ich möchte ein Objekt holen welches mehrere collections hat die ich aber nicht brauche.
dafür ein DTO mit den nötigen Feldern bauen oder wäre auch hier ausreichend die entity mittels Query zu „beschneiden“ Und im Query im select das wählen was ich brauche?

hab nämlich noch einen Fall da holt es mit jedesmal die collections raus die ich an der Stelle nicht brauche und daher ewig dauert.
An andere Stelle brauch ich die collections aber
 
mrBrown

mrBrown

heißt also ich kann Entities innerhalb meines Programms nutzen?
Erst wenn ich was an andere Systeme gebe kann/sollte man DTO nehmen
Jap.

Oder auch hier: ich möchte ein Objekt holen welches mehrere collections hat die ich aber nicht brauche.
dafür ein DTO mit den nötigen Feldern bauen oder wäre auch hier ausreichend die entity mittels Query zu „beschneiden“ Und im Query im select das wählen was ich brauche?

hab nämlich noch einen Fall da holt es mit jedesmal die collections raus die ich an der Stelle nicht brauche und daher ewig dauert.
An andere Stelle brauch ich die collections aber
Die Collections sind doch hoffentlich Lazy? Dann sollten die ersten bei Zugriff geladen werden - wenn du sie nicht nutzt, werden sie auch nicht geladen.
 
NicoDeluxe

NicoDeluxe

Mit dem Zugriff versteh ich nicht. Wenn ich das Objekt lade, werden die collections mir geladen. Wie sage ich dem System „ich will auch collections“

über einen anderenrepository Zugriff?
 
mrBrown

mrBrown

JPA-Magie :)

Wenn deine Entität grob so aussieht:
Java:
class Entity {
     String foo;
     Collection<Bar> bars;
}
Dann wird erstmal nur das Feld foo initialisiert.

Erst wenn du auf entity.bars zugreifst, wird im Hintergrund Automatsch eine zweite SQL-Query ausgeführt, die die Collection lädt.
 
NicoDeluxe

NicoDeluxe

waaaaaas wie geht das bei mir nicht 🤪 Ich stell dan mal
Code ein wenn ich zurück bin.
 
NicoDeluxe

NicoDeluxe

Moin,

meine Collections sind nicht Lazy, weil ich die Entitiy an eine REST Schnittstelle liefere wo alle Daten gebraucht werden.

Da das andere System alle Daten braucht, wüsste ich nicht wie man das mit Lazy macht :rolleyes:
 
mrBrown

mrBrown

LAZY machen, an der Schnittstelle das Laden bewusst triggen oder Konsequent DTOs nutzen.
 
Thema: 

DTO <> Entity Hibernate Spring Boot

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben