Whether you use an optimistic transaction EntityManager::flush or pessimistic begin transaction, do work and commit transaction, the transaction should include CRUD operations of a logical unit of work, i.e. all objects which the end user would expect to be consistent when a task is done. For example, a user would not expect and invoice incrementally updated while they are filling it out, only when they explicitly save.
If you were to do incrementally updated invoice, you could/would be expected to be able to roll it back to where the user was after the their last save. Not too bad if you have a couple of independent objects but get quite messy of many objects and/or highly dependent. You really need the understand the user logical units of work. On Mar 3, 2014 5:41 PM, "Nima Sadjadi" <[email protected]> wrote: > Just curious to know: > When we do persist any changes for insert/update/delete, they will be > queued until flush is called, and it applies any dirty/changed things into > db at once and the logic of this is to reduce times to connect to database > and it also reduce database server abuse and increases script speed and > performance? I just wanted to double check it with you to make sure if I > understood this correctly? Hope to got an answer clarifying if I am correct > or not? > Thanks, > > -- > You received this message because you are subscribed to the Google Groups > "doctrine-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/doctrine-user. > For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "doctrine-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/doctrine-user. For more options, visit https://groups.google.com/groups/opt_out.
