Hi,  I would like to ask a urgent question:
Does Tuscany DAS support returning static DataObject???

/************************************xml config
file*************************************/

<?xml version="1.0" encoding="UTF-8"?><Config
xsi:noNamespaceSchemaLocation="http:///org.apache.tuscany.das.rdb/config.xsd";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

   <Command name="qryAllUsers" SQL="select USER_ID,PASSWORD,NAME,AVAILABLE
from CCP_USER" kind="Select"/>
   <Table tableName="CCP_USER" typeName="User">
       <Column columnName="USER_ID" primaryKey="true"/>
       <Column columnName="PASSWORD"/>
       <Column columnName="NAME"/>
       <Column columnName="AVAILABLE"/>
   </Table>
</Config>

/*******************following code can add a new record to database
successfully, 'User' class is static DataObject generated by
XSD2JavaGenerator,  *******/

       User user=(User)LibraryFactory.INSTANCE.createUser();
       user.setUSER_ID("sdo518");
       user.setPASSWORD("88888");
       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.createCommand("select * from dual");
           DataObject root=command.executeQuery();
           root.getList(1).add(object);
           das.applyChanges(root);

Quesion:  Must I exeucte a query sql first if I want to add a new record to
database?  any other way to avoid this?
/************* following code can fetch record from database
successfully**************/

           Connection conn=dataSource.getConnection();
           conn.setAutoCommit(false);
           DAS das=DAS.FACTORY.createDAS(new
ClassPathResource(schemaConfig).getInputStream(),conn);
           Command command=das.getCommand(commandName);
           if(param!=null) command.setParameter(1,param);
           DataObject obj=command.executeQuery();
            List users=root.getList(1);
 for(int i=0;i<users.size();i++){
  DataObject obj=(DataObject)users.get(i);
  System.out.println(obj.get("USER_ID"));

 }

Qestion:  if i change  List users=root.getList(1) to  List users=
root.getList("User");  there is not record in the 'users' list,
               why?
              furthermore, how can I make it return User dataObject, so I
can use user.getUSER_ID() to get the property's value?

Appreciate your help in advance.

Reply via email to