Ich glaube, ich lese irgendwo Leute, die während der Kompilierzeit (unter Verwendung von APT) equals / hashcode / toString-Methoden erzeugen, indem sie identifizieren, welche Felder Teil des Hash / Gleichheitstests sein sollen. Ich konnte so etwas im Internet nicht finden (ich könnte es geträumt haben?) ...
Das könnte so gemacht werden:
%Vor%Für eine Entität (also möchten wir einige Felder ausschließen, wie die ID).
Oder wie eine skalare Fallklasse, d. h. ein Wertobjekt:
%Vor%Nicht nur die Datei wird lesbarer und einfacher zu schreiben, sondern es wird auch sichergestellt, dass alle Attribute Teil des equals / hashcodes sind (falls Sie später ein anderes Attribut hinzufügen, ohne die Methoden entsprechend zu aktualisieren).
Ich habe gehört, dass APT in der IDE nicht sehr gut unterstützt wird, aber ich würde das nicht als großes Problem betrachten. Schließlich werden Tests hauptsächlich von Servern mit kontinuierlicher Integration durchgeführt.
Irgendeine Idee, wenn das bereits getan wurde und wenn nicht warum? Danke
Während Pojomatic keine Bytecode-Kompilierung durchführt, unterstützt es die einfache Erstellung von equals, hashCode und toString-Methoden, die Annotationen verwenden, um ihr Verhalten anzupassen.
Tags und Links java annotations apt equals hashcode