You'll need to make sure you have "dept" defined as an association property in the "Emp" destination.
When you have association properties between two data types, those types will use the same commit queue so you can remove the first dataServiceDEPT.commit(). The second commit on the dataServiceEMP instance will commit both the new department and the new employee. (The queue is stored on the DataService's dataStore - so dataService.commit() really is just a call to dataService.dataStore.commit(). dataServiceDEPT.dataStore should equal dataServiceEMP.dataStore. By sharing one queue, we can keep dependencies like the one between the dept and the emp in the right order. If you send two new items to the server in the same batch, FDMS will create the first item get its id, update that id in the reference for the second item, then create the second item. If you send the create for the first item in one batch, you need to wait for the commit result to come back before you can issue the create for the second item. This is a bug in FDMS that we need to fix... Jeff ________________________________ From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of sunilpatel_10 Sent: Tuesday, January 23, 2007 7:18 AM To: [email protected] Subject: [flexcoders] Re: FDS createItem - how to find ID of inserted record? Thans Olivier for the reply. However, I am using Hibernate, FDS and Flex 2.0 with MySQL - Much like the CRM sample application with Hibernate. I didn't write my own DAO. The canvas has dept code, dept name, emp first name, emp last name. On click of save, I want to save dept info in DEPT table (ID, CODE, NAME) and EMP info in EMP table (ID, DEPT_ID, FNAME, LNAME) with EMP.DEPT_ID as new DEPT.ID - the code looks something like this - dept = new Dept(); dept.code = fcode.text; dept.name = fname.text; var ir:ItemReference = dataServiceDEPT.createItem(dept); dataServiceDEPT.commit(); emp =new Emp(); emp.dept = dept; emp.fname = ffname.text; emp.lname = flname.text; dataServiceEMP.createItem(emp); dataServiceEMP.commit(); This code creates a new DEPT but not an EMP record. Help !!! Thanks --- In [email protected] <mailto:flexcoders%40yahoogroups.com> , "Stembert Olivier (BIL)" <[EMAIL PROTECTED]> wrote: > > Hi, > > You should set the id in your dao class. > Here is an example with a dao using Spring: > > public void create(Dept dept) throws DataAccessException > { > String sql = ... > NamedParameterJdbcTemplate template = new > NamedParameterJdbcTemplate(this.getDataSource()); > MapSqlParameterSource namedParameters = new MapSqlParameterSource(); > ... > template.update(sql, namedParameters); > int id = getJdbcTemplate().queryForInt("call identity()"); > dept.setDeptId(id); > > } > > Regards, > > Olivier > > > ________________________________ > > From: [email protected] <mailto:flexcoders%40yahoogroups.com> [mailto:[email protected] <mailto:flexcoders%40yahoogroups.com> ] On > Behalf Of sunilpatel_10 > Sent: Saturday, January 20, 2007 2:25 PM > To: [email protected] <mailto:flexcoders%40yahoogroups.com> > Subject: [flexcoders] FDS createItem - how to find ID of inserted > record? > > > > Hi, > > I have a page where I capture DEPT and EMP data. On click of a button > I want to save DEPT record and all the EMP records with ID of newly > created DEPT as a parent. I use FDS, hibernate and db generated IDs. > The problem I am facing is how do I get the ID of DEPT record created > by createitem() and access it to assign this DEPT as a parent of EMP > records that I want to create? If I examine ID of dept object used in > createitem after FDS commit(), it is still 0. Appreciate your help. > > > > > > --------------------- > > An electronic message is not binding on its sender. > > Any message referring to a binding engagement must be confirmed in > writing and duly signed. > > --------------------- > > > > > --------------------- > An electronic message is not binding on its sender. > Any message referring to a binding engagement must be confirmed in writing and duly signed. > --------------------- >

