This was fixed in TUSCANY-905. On 1/28/07, Sam Su <[EMAIL PROTECTED]> wrote:
Hi all, I am using static data object, in my configuration file, I use propertyName attribute to map Table column to DataObject class's property,<Table tableName="CCP_USER" typeName="User"> <Column columnName="USER_ID" propertyName="userId" primaryKey="true"/> <Column columnName="PASSWORD" propertyName="password"/> <Column columnName="NAME" propertyName="name"/> <Column columnName="AVAILABLE" propertyName="available"/> </Table> however, when I use following code to add a new object to database, it fails because the error sql produced by tuscany das. User user=(User)UserFactory.INSTANCE.createUser(); user.setUserId("aaabbiiiiiiiiibc"); user.setPassword("898989"); user.setName("wo"); user.setAvailable("1"); Connection conn=dataSource.getConnection(); conn.setAutoCommit(false); DAS das=DAS.FACTORY.createDAS(new ClassPathResource(schemaConfig).getInputStream(),conn); Command command=das.getCommand(commandName); DataObject root=command.executeQuery(); if(logger.isDebugEnabled()) logger.debug("dataobject to be insert:"+object.toString()); root.getList(object.getType().getName()).add(object); das.applyChanges(root); tuscany das produces a sql: insert into ccp_user(userid, password, name, available) values(?,?,?,?) , it is obviously that userid is the property of data object class but not the column of the table. Is it a bug? I read the source code of InsertGenerator class, it just : attributes.add(attr.getName()); to get the dataobject property, after I modify it to attributes.add(config.getColumnByPropertyName(t, attr.getName()).getColumnName()); to get the table column compose the insert sql, it works correctly.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
