[ 
https://issues.apache.org/jira/browse/TUSCANY-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531817
 ] 

Nick Duncan commented on TUSCANY-1815:
--------------------------------------

When you say:

------------------
//create new customer using static SDO - say a service is doing it
...

   DataObject graph = gm.emptyGraph(helper.getConfig());
   CUSTOMER c = (CUSTOMER) graph.createDataObject("CUSTOMER");

-----------------
I don't  see how that a Customer from a service could be created in such a way. 
 We would not want a config to be available in every tier of the architecture.  
We would want our service implementations to accept or send a static data 
object (or dynamic) and not have to worry about the underlying complexity of 
tying it to a Config.  Basically we want to have a totally detached service 
oriented architecture. 

If we have a data object, not created via a root object derived from a query, 
or from gm.emptyGraph(helper.getConfig()).createDataObject(), then how do we 
best persist that to the database?

Thank you



> das.applyChanges will always do insert instead of update if createDataObject 
> was used
> -------------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1815
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1815
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java DAS RDB
>    Affects Versions: Java-DAS-beta1, Java-DAS-Next
>         Environment: DB2 Iseries
>            Reporter: Nick Duncan
>            Assignee: Amita Vadhavkar
>             Fix For: Java-DAS-Next
>
>
> If I do something like: 
> -------------------------------
>               DataObject root = das.getCommand("AllAutos").executeQuery();
>               
>               DataObject dao = root.createDataObject("t_test");
>               dao.set("NAME", "NICK");
>               dao.set("ID", 100);
>               
>               das.applyChanges(root);
> -------------------------------------
> There is already a row in the table with primary key 100.  ID is defined in 
> the config xml as being the primary key,  it ignores that ID was set and does 
> an insert statement.  ID is also defined as an auto generated column.
> Basically I was expecting something like Hibernate's savorOrUpdate...   Maybe 
> if the field that represents primary key  is shown to have been changed in 
> the changeSummary, then  DAS will figure out what statement to generate.  
> Where I'm seeing this being a problem is if we get a dataobject that 
> represents a row in the database, and then send it off to a service, we get 
> back another object that has been updated, but since it is a different object 
> then the DAS will think it should do an update?  Merge doesn't  seem to  
> alleviate this problem either.  Please let me know if I am way off base here. 
>  Thanks

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to