Have an issue when storing an object where the main object is stored but
referenced object isn't.  No error is shown.

All information is passed from the form fine.(is in a struts app)

With the following I would expect that the id of an AddressVO address_vo
would be stored in field address1 of MemberVO vo.

What am I missing??

DB = MySQL



public ActionForward execute(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
HttpServletResponse response) {

        DynaValidatorForm _form = (DynaValidatorForm)form;
        MemberVO vo = new MemberVO();
        AddressVO address_vo = new AddressVO();

        vo.setMemberNum((String)_form.get("memberNum"));
        vo.setFirstName((String)_form.get("firstName"));
        vo.setLastName((String)_form.get("lastName"));
        vo.setSuffix((String)_form.get("suffix"));
        // etc....

        address_vo.setAddress1((String)_form.get("address1"));
        address_vo.setAddress2((String)_form.get("address2"));
        address_vo.setCity((String)_form.get("city"));

address_vo.setCountryId(Integer.parseInt(_form.get("countryId").toString()))
;
        //etc...

        vo.setAddress1(address_vo);

        //insert member into DB
        PersistenceBroker broker = null;
        broker = PersistenceBrokerFactory.defaultPersistenceBroker();


        broker.beginTransaction();
        broker.store(vo);
// if I add line broker.store(address_vo) it is stored fine.
        broker.commitTransaction();

        return mapping.findForward("success");
    }
--------------------------------------------------------------
<class-descriptor class="com.bowtech.ojb.domainmodel.om.MemberVO"
table="MEMBERS">

    <field-descriptor name="id" column="id" jdbc-type="INTEGER"
primarykey="true" autoincrement="true"/>

    <field-descriptor name="memberNum" column="memberNum"
jdbc-type="VARCHAR"/>

    <field-descriptor name="firstName" column="firstName"
jdbc-type="VARCHAR"/>

    <field-descriptor name="lastName" column="lastName"
jdbc-type="VARCHAR"/>

    <field-descriptor name="suffix" column="suffix" jdbc-type="VARCHAR"/>

<!-- etc....  -->

    <reference-descriptor name="address1"
class-ref="com.bowtech.ojb.domainmodel.om.AddressVO" auto-retrieve="true">

        <foreignkey field-ref="id"/>

    </reference-descriptor>

</class-descriptor>

<class-descriptor class="com.bowtech.ojb.domainmodel.om.AddressVO"
table="ADDRESSES">

    <field-descriptor name="id" column="id" jdbc-type="INTEGER"
primarykey="true" autoincrement="true"/>

    <field-descriptor name="address1" column="address1"
jdbc-type="VARCHAR"/>

    <field-descriptor name="address2" column="address2"
jdbc-type="VARCHAR"/>

    <field-descriptor name="city" column="city" jdbc-type="VARCHAR"/>

    <field-descriptor name="stateId" column="stateId" jdbc-type="INTEGER"/>

    <field-descriptor name="countryId" column="countryId"
jdbc-type="INTEGER"/>



<!-- etc....  --->

</class-descriptor>


Thanks

Ross Rotherham



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to