Ich beginne ein neues Projekt, das sowohl JAXB als auch JPA Annotationen verwendet. Ich habe mit Interesse die Beiträge gelesen, in denen die Vor- und Nachteile der Mischung von JAXB- und JPA-Anmerkungen in einer einzigen Klasse diskutiert wurden.JAXB & JPA Anmerkungen. Gibt es starke Argumente dafür, Feldzugriff dem Eigentumszugriff vorzuziehen?
Gibt es Richtlinien, die beschreiben, wann Annotationen auf Feldebene zu verwenden sind und wann Annotationen auf Eigenschaftsniveau oder Argumente für die allgemeine Wahl eines Ansatzes gegenüber dem anderen zu verwenden sind? Ich finde Anmerkungen auf Feldebene sauberer und besser lesbar; Sie befinden sich normalerweise an der Spitze der Klasse und machen es leicht herauszufinden, wie jedes Feld in verschiedenen Kontexten dargestellt wird. Abgesehen von diesem Argument hinsichtlich der Lesbarkeit, gibt es noch andere Dinge zu beachten, wenn Sie entscheiden, wo Sie kommentieren sollen?
So Zugriff JAXB Feldebene mit auf JPA-Entitäten beharrte auf fremde Daten gemarshallt werden führen könnte? – Fil
Ich finde es auch interessant, dass es die Kombination von JAXB und JPA Anmerkungen, die bestimmt, wo sie am effektivsten angewendet werden. – Fil
Es gibt Kompromisse, die berücksichtigt werden müssen. Lazy Loading ist ein wichtiger Aspekt von JPA, da es die Menge der realisierten Daten begrenzt. Natürlich passiert es nicht, dass Lazy Loading magisch irgendwie implementiert werden muss. Einige Implementierungen behandeln dies, indem sie ein Feld einfügen (natürlich könnten sie dieses Feld mit @XmlTransient annotieren, um sicher zu sein). JPA-Implementierungen sind nicht die einzigen, die eine Byte-Code-Manipulation verwenden, nur diejenigen, die für diese Frage relevant sind. –