Cascading commits

Consider the following. In the domain model, entities A and B have many-to-one associations with entity C, i.e. A (M) ---> (1) C , and B (M) ---> (1) C There is a data view populated with a new C object via microflow. The Create Object activity in the microflow does not commit C. Within the data view, there is one data view populated with a new A object associated with C, and another data view doing the same for a new B object. Neither the A or B data views are committed. There is a button on the C data view which calls a microflow that commits C. If this button is clicked, which of A, B, and C will be committed?
2 answers

I think in the situation you describe, object C will be committed, and new objects A and B will be auto-committed - that is they are stored in memory until the end of your session. When you log out of the application, these auto-committed objects are destroyed.

If you wish to retain the new objects A and B as well as C, use an action button on C to replace the default save button. In the microflow attached to this save action button, commit all 3 objects before you close the page.


David are you sure about this? I think you are wrong. Object C does not own any of the relationships. So committing C does not implicitly commit the relationship, and therefore there would be no need for anything to be autocommitted here.

Also, autocommitted does NOT mean they are stored in memory, they are stored in database, but wil be deleted once the session is killed, unless they are explicitly committed first.