Hi-Ho,
folgendes Szenario: Es gibt Bücher und Autoren. Ein Autor kann mehrere Bücher geschrieben haben, aber ein Buch kann auch von mehreren Autoren geschrieben worden sein. Diese verknüpfe ich jetzt über eine @ManyToMany-Annotation mit Hibernate. Anschließend würde ich gerne als WebService die Methode getAllAutoren bzw. getAllBuecher anbieten. Jetzt stellt sich aber das Problem, wie man so etwas designed, da eine 1zu1-Umsetzung in XML ja imho nicht möglich ist. Dies würde nämlich bedeuten, dass ich bspw. bei getAllBucher im buecher-XML-Tag n Autoren-Tags hätte, welche wiederum n Bücher-Tags beinhalten würden, welche wiederum n Autoren-Tags beinhalten würde ... usw. usf.
Mir sind zwar Lösungen wie das duplizieren der entsprechenden Klasse und dann die Autoren bzw. Bücher-Collection als @XmlTransient zu bezeichnen geläufig, aber für sonderlich sauber halte ich sie nicht. Deshalb meine Frage: Gibt es da irgendwelche Design-Richtlinien, Tipps, ganz andere Vorgehensweisen, oder eigene Erfahrungen, wie so etwas am Besten realisiert wird?
Danke!
folgendes Szenario: Es gibt Bücher und Autoren. Ein Autor kann mehrere Bücher geschrieben haben, aber ein Buch kann auch von mehreren Autoren geschrieben worden sein. Diese verknüpfe ich jetzt über eine @ManyToMany-Annotation mit Hibernate. Anschließend würde ich gerne als WebService die Methode getAllAutoren bzw. getAllBuecher anbieten. Jetzt stellt sich aber das Problem, wie man so etwas designed, da eine 1zu1-Umsetzung in XML ja imho nicht möglich ist. Dies würde nämlich bedeuten, dass ich bspw. bei getAllBucher im buecher-XML-Tag n Autoren-Tags hätte, welche wiederum n Bücher-Tags beinhalten würden, welche wiederum n Autoren-Tags beinhalten würde ... usw. usf.
Mir sind zwar Lösungen wie das duplizieren der entsprechenden Klasse und dann die Autoren bzw. Bücher-Collection als @XmlTransient zu bezeichnen geläufig, aber für sonderlich sauber halte ich sie nicht. Deshalb meine Frage: Gibt es da irgendwelche Design-Richtlinien, Tipps, ganz andere Vorgehensweisen, oder eigene Erfahrungen, wie so etwas am Besten realisiert wird?
Danke!