That seems to assume I would have a unique identifier in my object. There's actually no good field in my example that could be used like that, and what's worse my real world case does not have that either.
So I believe if I want to make castor set the references correctly, I need to add some artificial ID field to my classes? Ralf Joachim-2 wrote: > > Hi Janne, > > when using mapping usage of references as explained in: > > http://www.castor.org/how-to-use-references-in-xml.html > > may help. If you generate code out of XSD you may need to take a look at > xs:id and xs:idref to handle this. > > Having said that I never used that myself. > > Regards > Ralf > > jimmi4664 schrieb: >> I tried autocreating mapping file for a simple example using MappingTool >> to >> maybe give a hint on how to do this: >> >> public class Owner { >> private String name; >> private ArrayList<Vehicle> vehicles = new ArrayList<Vehicle>(); >> >> public String getName() { >> return name; >> } >> >> public void setName(String name) { >> this.name = name; >> } >> >> public ArrayList<Vehicle> getVehicles() { >> return vehicles; >> } >> >> public void setVehicles(ArrayList<Vehicle> vehicles) { >> this.vehicles = vehicles; >> } >> } >> >> public class Vehicle { >> private String name; >> private Owner owner; >> >> public String getName() { >> return name; >> } >> >> public void setName(String name) { >> this.name = name; >> } >> >> public Owner getOwner() { >> return owner; >> } >> >> public void setOwner(Owner owner) { >> this.owner = owner; >> } >> } >> >> MappingTool tool = new MappingTool(); >> tool.setInternalContext(new BackwardCompatibilityContext()); >> boolean deep = true; >> File targetFile = new File("generated-mapping.xml"); >> log.debug("generating mapping file..."); >> tool.addClass(Owner.class, deep); >> fw = new FileWriter(targetFile); >> tool.write(fw); >> log.debug("...done generating mapping file: " + targetFile); >> >> But the end result is: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <mapping xmlns="http://castor.exolab.org/" >> xmlns:cst="http://castor.exolab.org/"> >> <description xmlns="">Castor generated mapping file</description> >> <class name="tests.Owner"> >> <description xmlns="">Default mapping for class >> tests.Owner</description> >> <map-to/> >> <field name="name" type="java.lang.String"> >> <bind-xml name="name" node="element"/> >> </field> >> <field name="vehicles" type="java.lang.Object" >> collection="arraylist"> >> <bind-xml name="vehicles" node="element"/> >> </field> >> </class> >> </mapping> >> >> So it seems it maps Vehicles in the list as Objects, which does not help >> >> >> >> >> > > -- > > Syscon Ingenieurbüro für Meß- und Datentechnik GmbH > Ralf Joachim > Raiffeisenstraße 11 > 72127 Kusterdingen > Germany > > Tel. +49 7071 3690 52 > Mobil: +49 173 9630135 > Fax +49 7071 3690 98 > > Internet: www.syscon.eu > E-Mail: [email protected] > > Sitz der Gesellschaft: D-72127 Kusterdingen > Registereintrag: Amtsgericht Stuttgart, HRB 382295 > Geschäftsleitung: Jens Joachim, Ralf Joachim > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > > -- View this message in context: http://old.nabble.com/How-to-map-cyclic---recursive-objects--tp26317185p26332551.html Sent from the Castor - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

