JPA 第三天 二級快取

2021-10-01 17:58:21 字數 830 閱讀 4264

**主鍵:非空且唯一**

分為 :

自然主鍵 有業務含義 是有意義

**主鍵 沒有業務含義 只是乙個id

**策略:**

自增:要求使用是的資料庫必須支援自增

序列:要求資料庫必須支援序列 oracle db2

自動:根據方言使用是自增還是序列 預設是自動 新版本是table策略

表策略:效能差 相容性好 支援所有資料庫

臨時狀態

物件剛建立出來 就是臨時狀態

持久狀態 (物件在一級快取中)

物件和jpa發生關係 就是持久狀態

在一級快取中就是持久狀態

刪除狀態(jpa特有)

出現remove 就是刪除狀態

remove 計畫刪除

游離狀態

物件jpa解除關係 就是游離狀態

髒資料更新

持久化物件的修改跟merge沒有關係

就是在提交事務的時候,發現一級快取中的資料和快照中的資料不一樣 就會進行同步

merge 的用處 用於操作臨時物件 把乙個物件弄成持久化物件(操作完返回的物件才是持久化物件)

有id 修改 沒有 新增

刪除的細節問題

刪除為什麼傳物件

為啥物件是持久化狀態

remove 只是改變狀態

真正的刪除是在事務的提交

什麼場景使用二級快取

jpa二級快取

jpa的一級和二級快取 一級快取 比如 customer customer1 entitymanager.find customer.class,1 customer customer2 entitymanager.find customer.class,1 那麼,在查詢中,其實只查詢了,一次,因為...

mysql jpa快取 JPA高階二級快取

jpa高階二級快取 1.主鍵的分類 1.自然主鍵 沒有實際意義的主鍵 2.主鍵 主鍵的特徵 非空且唯一的 generatedvalue 預設為auto 主鍵的生成策略 jap標準的策略有四種 auto table sequence identity auto 自動選擇乙個最適合底層資料庫的主鍵生成策...

JPA學習筆記 二級快取

預設情況下開啟一級快取,如下 test public void testsecondlevelcache test public void testsecondlevelcache 下面配置二級快取 persistance.xml org.hibernate.ejb.hibernatepersist...