title: Nhibernate order of SQL statements when flushing session
body: <p>According to NHibernate documentation, SQL statements are issued in the following order when a session is flushed:</p>
  
  <ul>
  <li>all entity insertions, in the same order the corresponding objects were saved using ISession.Save()</li>
  <li>all entity updates</li>
  <li>all collection deletions</li>
  <li>all collection element deletions, updates and insertions</li>
  <li>all collection insertions</li>
  <li>all entity deletions, in the same order the corresponding objects were deleted using ISession.Delete()</li>
  </ul>
  
  <p>Why is it forced in this order and is there any way to change it so that the statements are executed in the same order that I give them?</p>