As far I know,Flush is used to synchronize the state of persistent onject to database.In fact, there can be different Flush modes which includes FLUSH.NONE,FLUSH.AUTO,FLUSH.COMMIT.As the name suggests, when FLUSH.NONE is set ,developer have to call flush explicitly,on Flush.AUTO, flush is executed before every query and on FLUSH.COMMIT,flush is executed before every database updation...that's all i know about flush..hope this information will be helpful.
