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]