If I Flush the NHibernate’s Session will all the changes be visible to others sessions in the DB or NHibernate guarantees this after I commit the transaction only?
I update the Data with NHibernate and then call function in the Oracle package, And I don’t wont the data to be stale.
Flush will only send the data sql to the database server. The commit commits it to the database it self. The data will only be queryable after the commit.
Be aware that this is only true when your isolation level is ‘read committed’ (default setting), when using ‘read uncommitted’ the data is queryable after its send to the database (flush will force the sql to the database).
edit: Thx stefan for commenting on the isolation level