1.如果未能發現符合條件的記錄,get方法返回null,而load方法會拋出一個ObjectNotFoundException。
2.load支持延遲加載,get不支持。
如:Student student = (Student)session.load(Student.class,1); //不會發出SQL語句
student.getName(); //這條語句纔會發出SQL語句
而使用get方法,Student student = (Student)session.get(Student.class,1); //會發出SQL語句
3.load方法可返回實體的代理類實例,而get方法永遠直接返回實體類。
4.load方法可以充分利用內部緩存和二級緩存中的現有數據,get方法則僅僅在內部緩存中進行數據查找,如沒有發現對應數據,將越過二級緩存,直接調用SQL完成數據讀取。