Hi, how does/should your XML actually look like ?
Regards Werner jimmi4664 wrote: > 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 >> >> >> >> > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

