javascript
Spring Data JPA 从入门到精通~javax.persistence概况介绍
雖然 Spring Data JPA 已經對數據的操作封裝的很好了,約定大于配置的思想,幫我們默認了很多東西。JPA(Java 持久性 API)是存儲業務實體關聯的實體的來源,它顯示了如何定義一個面向普通 Java 對象(POJO)作為一個實體,以及如何與管理關系實體,提供了一套標準。因此,javax.persistence 下面的有些注解我們還是必須要去了解的,便于更好的提高工作效率。
(1)javax.persistence 我們打開源碼位于 hibernate-jpa-**.jar 包里面。
依賴關系,通過 Intellij Idea 的 Maven 插件直接分析一下其依賴,也可以用$ mvn dependency:tree分析,如下:
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:2.0.0.RELEASE:compile [INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.0.0.RELEASE:compile [INFO] | | \- org.springframework:spring-jdbc:jar:5.0.4.RELEASE:compile [INFO] | +- org.hibernate:hibernate-core:jar:5.2.14.Final:compile [INFO] | | +- org.javassist:javassist:jar:3.22.0-GA:compile(2)我們也通過前面說到的 Intellij Idea 的 Diagram 來看一下此模塊的類的關鍵關系。
(3)下圖顯示了 JPA 的類的層次結構,它顯示核心類和 JPA 接口。
(4)下表描述了每個在上述架構的顯示單元。
| 單元 | 描述 |
| EntityManagerFactory | 這是一個?EntityManager?的工廠類,它創建并管理多個?EntityManager?實例 |
| EntityManager | 這是一個接口,它管理的持久化操作的對象,它的工作原理類似工廠的查詢實例 |
| Entity | 實體是持久性對象,是存儲在數據庫中的記錄 |
| EntityTransaction | 它與?EntityManager?是一對一的關系,對于每一個?EntityManager,操作是由?EntityTransaction?類維護 |
| Persistence | 這個類包含靜態方法來獲取?EntityManagerFactory?實例 |
| Query | 該接口由每個 JPA 供應商,能夠獲得符合標準的關系對象 |
上述的類和接口用于存儲實體到數據庫的一個記錄,幫助程序員通過減少自己編寫代碼來將數據存儲到數據庫中,使他們能夠專注于更重要的業務活動代碼,如數據庫表映射的類編寫代碼。
下面我們主要介紹一下,在 Entity 里面常用的注解有哪些,還有很多沒有介紹到的,可以直接到包的源碼里面進行查找和分析。
總結
以上是生活随笔為你收集整理的Spring Data JPA 从入门到精通~javax.persistence概况介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Facade 和 Mediator 模式
- 下一篇: 活用ognl表达式