JPA概述、生命週期
JPA概述
JPA(Java Persistence API,Java持久化API),定義了物件-關係對映(ORM)以及實體物件持久化的標準介面。
JPA就是一套定義物件持久化的一套規範,市場上有很多JPA實現,常見的是hibernate jpa 和spring data jpa
JPA主要的內容和操作的API
JPA維護一個Persistence Context(持久化上下文),在持久化上下文中維護實體的生命週期。主要包含三個方面的內容:
1. ORM後設資料。JPA支援annotion或xml兩種形式描述物件-關係對映。
2. 實體操作API。實現對實體物件的CRUD操作。
3. 查詢語言。約定了物件導向的查詢語言JPQL(Java Persistence Query Language)。
JPA的主要API都定義在javax.persistence包中。如果你熟悉Hibernate,可以很容易做出對應
EntityManagerFactory:實體管理器工廠 EntityManager:實體管理器
JPA中實體的生命週期
New:物件剛建立,還沒有和實體上下文建立聯絡
Managed: 持久化物件,有id值,和實體上下文建立了聯絡,此時對 物件的修改,在事務提交後,會發起update語句更新到資料庫。
Detached:遊離態物件,有id值,但是和實體上下文脫離聯絡。呼叫em.merge()方法後,遊離態物件能夠回到持久狀態。
Removed:物件刪除,有id值,和實體上下文有聯絡
相關文章
- Servlet生命週期(概述)Servlet
- 生命週期
- View生命週期與Activity生命週期的關係View
- ubuntu生命週期Ubuntu
- vue生命週期Vue
- spring生命週期Spring
- Flutter - 生命週期Flutter
- sessionStorag 生命週期Session
- PHP 生命週期PHP
- maven生命週期Maven
- Activity生命週期
- React生命週期React
- vue - 生命週期Vue
- Fragment生命週期Fragment
- Salesforce 生命週期管理(一)應用生命週期淺談Salesforce
- Spring的生命週期Spring
- UIAbility元件生命週期UI元件
- IOC - bean 生命週期Bean
- bean的生命週期Bean
- Servlet的生命週期Servlet
- React 元件生命週期React元件
- Tomcat生命週期管理Tomcat
- Laravel框架生命週期Laravel框架
- SQL的生命週期SQL
- MySQL GTID生命週期MySql
- Spring Bean生命週期SpringBean
- maven-生命週期Maven
- UIViewController的生命週期UIViewController
- Flutter -- Element生命週期Flutter
- Flutter 的生命週期Flutter
- 類的生命週期
- Bean-生命週期Bean
- 理解VUE生命週期Vue
- Laravel的生命週期Laravel
- vue 生命週期梳理Vue
- java servlet 生命週期JavaServlet
- Android Activity生命週期Android
- Activity生命週期onDestroy