2016-06-15 7 views
0

Ich habe gerade ein ziemlich altes Stück Code entdeckt, der direkt eine JPA-Entität in einer JSF-Bean verwendet. Für mich scheint das falsch zu sein, da ich immer versucht habe, die Entity in der Backend/Service-Schicht zu belassen und dann separate Objekte für die Verwendung im Frontend/Bean zu erstellen.Kann ich eine JPA-Entität in einer JSF-Bean verwenden?

Es wird nichts an der Entity gesetzt, und es ist keine Transaktion geöffnet, also besteht keine Gefahr, etwas zu ändern, aber ich bin immer noch besorgt, dass die Getter die DB jedes Mal abfragen, wenn sie alle geladen sind. Ich denke, es wäre besser, die Daten im Voraus zu bekommen und in ein anderes Objekt zu laden.

Nachdem ich dies mit einigen anderen in meinem Team besprochen habe, scheinen ein paar Leute nicht besorgt darüber zu sein, aber es erscheint mir nicht richtig. Ich hoffe, dass jemand mir Informationen darüber geben könnte, was der richtige Gebrauch ist und warum?

Dank

Antwort

1

Technisch möglich ist, eine JPA-Entität zu einer JSF-Bohne passieren, ist aber nicht ein gutes Design. Wenn Sie versuchen, die S.O.L.I.D. principles zu folgen, werden Sie die Single Responsibility Principle brechen, weil Sie verschiedene Abstraktionsschicht in der gleichen Klasse mischen.

+0

Ja, ich konnte sehen, dass es möglich ist und funktionieren würde, aber es scheint mir eine schlechte Übung zu sein. Ich habe gerade darum gekämpft, ein gutes Argument dafür zu finden, warum es nicht gut war. Vielen Dank dafür, genau das, was ich gesucht habe! – hello123