HibernateDocs
In diesem Link zu Hibernate Docs, in dem Beispiel in Cat.class
wird die setId()
private
deklariert.
Ist es eine gute Praxis, setters
privat für die Felder zu markieren, deren Werte ich nicht ändern möchte?
Kann dies auch als Alternative zum Markieren von Feldern final
verwendet werden? Bereitstellen des Standardkonstruktors und des Konstruktors mit den gewünschten Feldern und Setzen von Setter für diese Felder.
Ich möchte diese Antwort im Hibernate-Kontext, nicht Java Abstraktion. Ist das eine gute Praxis und sollte es verwendet werden?Ist es eine gute Übung, Setter privat in Hibernate zu markieren?
Antwort
Ich denke nein. Felder Kapselungsmethoden werden verwendet, um auf private Felder von außerhalb einer Klasse zuzugreifen/diese zu setzen. Wenn Sie Ihr Feld nicht ändern möchten, sollten Sie es als endgültig deklarieren oder Sie sollten keine Setter-Methode deklarieren. Das gezeigte Beispiel für den Ruhezustand ist eine Ausnahme. Wenn Sie eine Entity beibehalten, wird die ID-Eigenschaft (falls automatisch generiert) automatisch durch Reflektion gesetzt. Wenn Sie diesen Setter privat machen, ist dies ein guter Weg, diesen Wert zu erhalten, ohne das Risiko einer manuellen Änderung in Ihrem Code.
Ich stimme zu .. Aber wegen Hibernate bin ich gezwungen, die Setter 'Methoden' zu erklären –
ja Sie müssen es erklären, aber Sie könnten es privat machen aus den oben genannten Gründen. Speziell für die ID-Eigenschaft . Sie müssen eine Einkapselung für eine Hibernate-Entität vornehmen, aber Sie können vermeiden, Eigenschaften zu ändern, die Sie nicht mit dem privaten Zugriff ändern möchten. –
Also ist es akzeptabel, wenn ich es als privat markieren? Ich meine nach den Industriestandards und allen –
- 1. Ist es eine gute Übung, NSError
- 2. Ist es eine gute Übung, $ parent in angular zu verwenden?
- 3. Ist es eine gute Übung, size_t in C++ zu verwenden?
- 4. Ist es eine gute Übung, variable Subdomains zu verwenden?
- 5. Ist es eine gute Übung, den Skripttyp zu ignorieren?
- 6. Ist es eine gute Übung, Menüs zu validieren?
- 7. Ist es eine gute Übung, Testeigenschaften zu testen?
- 8. In Python auf null setzen, ist es eine gute Übung?
- 9. Ist die www Subdomain eine gute Übung?
- 10. Ist es eine gute Übung, eine Eins-zu-Eins-Relationstabelle in MySQL zu erstellen?
- 11. Ist es eine gute Übung, Basiskomponenten zu erstellen und sie dann in React zu erweitern?
- 12. Privat setter "set()" in Swift
- 13. In C# ist es eine gute Übung, rekursive Funktionen in Algorithmen zu verwenden?
- 14. Ist es eine gute Übung, eine Anwendung über mehrere EXE-Dateien zu erstellen?
- 15. Ist es eine gute Übung, eine Methode zu erstellen, die Daten außerhalb der Klasse const ändert?
- 16. ist es eine gute Übung, iframe zu verwenden, um header/navbar zu implementieren?
- 17. android localisation: Ist es eine gute Übung, nur benötigte Ressourcen in lokalisierten Ordnern zu verwenden?
- 18. Ist es eine gute Übung, abstrakte Klasse und innere Klassen in C++ zu verwenden
- 19. Ist es eine gute Übung, verschiedene Tabellentypen in einer Datenbank mit MySQL zu haben?
- 20. Ist es immer eine gute Übung, Aliase in SQL-Joins oder verschachtelten Abfragen zu verwenden?
- 21. Ist es eine gute Übung, "nackten" Text in HTML zu haben?
- 22. Ist es eine gute Übung, Ausnahmen in virtuelle Funktionen zu werfen?
- 23. C: Ist es eine gute Übung, statische Funktionsprototypen in Implementierungsdateien zu platzieren?
- 24. Ist es eine gute Übung, Webserver-Informationen in HTTP-Headern zu verstecken?
- 25. Seitenübergreifende Buchung. Ist es eine gute Übung PreviousPage in Asp.net zu verwenden?
- 26. Ist es eine gute Übung, ein animiertes Gif in css-Sprites zu verwenden?
- 27. Ist es eine gute Übung, Getter in einer Ansicht zu verwenden?
- 28. Ist es eine gute Übung, einen anderen Modelltyp von einem Controller an die Ansicht zu übergeben?
- 29. Ist es eine gute Übung, die Grundphrase einer HTTP-Antwort zu ändern?
- 30. Ist es eine gute Übung, Vorlagenmethodenmuster über C# -Ereignisse zu implementieren?
"Ist es eine gute Übung, Setter privat für die Felder zu markieren, deren Werte ich nicht ändern möchte." - Sagst du oder fragst du? –
@Jose Gomez Fragen :) –