Wir generieren unsere Klassen aus XML Schema Dateien. Jede Klasse wird im XML Schema einmal abstrakt definiert, mit allen Membervariablen. Davon wird eine (meist "leere") Ableitung erzeugt der dann (ausschliesslich) Methoden & Logic hinzugefügt werden. Mittels
[XML]
<xsd:annotation>
<xsd:appinfo>
<jaxb:class name="Document" ref="com.ourpackage.OurClass"/>
</xsd:appinfo>
</xsd:annotation>
[/XML]
wird der JAXB Java Generator dazu bewegt bereits vorhandene konkrete Klassen nicht mehr zu überschreiben da dort ja Funktionalität angehängt wird. Die abstrakten Klassen jedoch werden jedes Mal neu generiert und die alten werden überschrieben. Das ganze ist mit Maven verknüpft und funktioniert so ganz wunderbar, solange bis Hibernate ins Spiel kommt.
Denn jetzt brauchen wir ja Hibernate Annotations über den Definitionen der Membervariablen. Die Member befinden sich jedoch nur in den abstrakten Klassen welche ja immer wieder überschrieben werden.
Hat irgendwer eine gute Idee wie man das geschickt regeln kann? Kann man die Hibernate Annotationen bereits in die XML Schemas einbringen so dass sie automatisch über den Membervariablen in den generierten Klassen auftauchen?
[XML]
<xsd:annotation>
<xsd:appinfo>
<jaxb:class name="Document" ref="com.ourpackage.OurClass"/>
</xsd:appinfo>
</xsd:annotation>
[/XML]
wird der JAXB Java Generator dazu bewegt bereits vorhandene konkrete Klassen nicht mehr zu überschreiben da dort ja Funktionalität angehängt wird. Die abstrakten Klassen jedoch werden jedes Mal neu generiert und die alten werden überschrieben. Das ganze ist mit Maven verknüpft und funktioniert so ganz wunderbar, solange bis Hibernate ins Spiel kommt.
Denn jetzt brauchen wir ja Hibernate Annotations über den Definitionen der Membervariablen. Die Member befinden sich jedoch nur in den abstrakten Klassen welche ja immer wieder überschrieben werden.
Hat irgendwer eine gute Idee wie man das geschickt regeln kann? Kann man die Hibernate Annotationen bereits in die XML Schemas einbringen so dass sie automatisch über den Membervariablen in den generierten Klassen auftauchen?
Zuletzt bearbeitet: