成員變量和屬性的區(qū)別
包裝類型
1.比如
1.long是一個基本數(shù)據(jù)類型,不會存在null的情況婶希。
2.Long是long的包裝類署咽,是一個類察署,類就存在了空值的情況咨油,沒有初始化的時候調(diào)用方法或者屬性會造成空指針異常袁余,判斷Long是否為空請看樓上屎蜓,判斷l(xiāng)ong有沒有初始化霉涨,直接輸出看會不會報錯惫周。
image.png
image.png
hibernate的三種對象狀態(tài)
對照上圖進行觀察new-save-close
//三種狀態(tài)特點
1.save方法: 其實不能理解成保存.理解成將瞬時狀態(tài)轉(zhuǎn)換成持久狀態(tài)的方法
2.主鍵自增 : 執(zhí)行save方法時,為了將對象轉(zhuǎn)換為持久化狀態(tài).必須生成id值.
所以需要執(zhí)行insert語句生成.
3.increment: 執(zhí)行save方法,為了生成id.會執(zhí)行查詢id最大值的sql語句.
一級緩存存在
提高效率手段1:提高查詢效率尘惧,但是它不能返回具體的信息,比如递递,不能替換對象的名稱
提高效率手段2:減少不必要的修改語句發(fā)送
hibernate.current_session_context_class
<!-- 指定session與當(dāng)前線程綁定 -->
<property name="hibernate.current_session_context_class">
thread
</property>
返回綁定同一個線程的session&&返回不同的session