Gerade nach einer Diskussion getestet: Wenn man ChatGPT nach einer JPA Entity mit Lombok Support fragt, erzeugt es exakt die Code-Konstellation vor der alle Blogs zu dem Thema warnen – eine @Data Annotation an der Entity. Damit ist es ungefähr so gut wie Junior Developer die kein Google benutzen.
@javahippie ChatGPT bei Lammbock bestellt
@javahippie Ich habe den Vorteil von Lombok noch nie wirklich verstanden. Und ich bin wohl doch nicht der Einzige:
@javahippie Vmtl. kontrovers, aber ich denke (auch) hier: Lombok ist nicht das (Haupt)Problem, sondern, dass landläufig der Irrglaube vorherrscht, es bräuchte zwangsläufig öffentliche Mutatoren. Selbst wenn es Lombok nicht gäbe, wäre das ein Problem. Steht aber leider so in hunderttausenden Blogs.
@odrotbohm @javahippie Die öffentlichen Mutatoren sind noch ok im Vergleich zu den generierten toString, equals und hashCode. Sie ziehen alle lazy Collections und sonstige Felder mit.
@tibersept @javahippie Deswegen modelliert man ja auch Aggregate, die komplett materialisiert werden. Dann gibt es nur noch eager Collections und Queries. Vmtl. auch unpopulär, aber IMO ist lazy loading ein Bug, kein Feature.
@odrotbohm Ich sehe Lombok hier auch nicht als das Problem, sondern in erster Linie die zu naive Kombination zweier Bibliotheken.
Die Beanification von Klassen in Java ist dann ein ganz anderes Kapitel, stimme ich zu.