對find和iterate兩個查詢方法的比較,并不完善,你這種斷章取義的總結(jié)容易誤導(dǎo)別人.
你的敘述在暗示一種結(jié)論:iterate方法比find更好,因?yàn)樗玫睦昧司彺?實(shí)際的情況是,如果使用了iterate方法返回Iterator類型的查詢結(jié)果,那么你一旦關(guān)閉session,Iterator中的數(shù)據(jù)立即就會消失.而通過find得到的List則不會如此,我想大部分人的使用習(xí)慣都是操作完成后立即關(guān)閉session,很多公司也強(qiáng)制要求這樣做.
Iterator的另一個麻煩事是fail-fast,在多線程環(huán)境下,很容易產(chǎn)生.使用線程安全的List子類,則不會有這個問題