1. 程式人生 > >Spring Data JPA 梳理 - JPA與“Spring、Spring Data JPA”的關係

Spring Data JPA 梳理 - JPA與“Spring、Spring Data JPA”的關係

  1. JPA其實也就是java實體物件和關係型資料庫建立起對映關係,通過面向物件程式設計的思想操作關係型資料庫的規範。
  2. Spring 框架對 JPA 提供的支援主要體現在如下幾個方面:

    • 首先,它使得 JPA 配置變得更加靈活。JPA 規範要求,配置檔案必須命名為 persistence.xml,並存在於類路徑下的 META-INF 目錄中。該檔案通常包含了初始化 JPA 引擎所需的全部資訊。Spring 提供的 LocalContainerEntityManagerFactoryBean 提供了非常靈活的配置,persistence.xml 中的資訊都可以在此以屬性注入的方式提供。

    • 其次,Spring 實現了部分在 EJB 容器環境下才具有的功能,比如對 @PersistenceContext、@PersistenceUnit 的容器注入支援。
    • 第三,也是最具意義的,Spring 將 EntityManager 的建立與銷燬、事務管理等程式碼抽取出來,並由其統一管理,開發者不需要關心這些,業務方法中只剩下操作領域物件的程式碼,事務管理和 EntityManager 建立、銷燬的程式碼都不再需要開發者關心了。

  3. Spring Data JPA 框架,主要針對的就是 Spring 唯一沒有簡化到的業務邏輯程式碼,至此,開發者連僅剩的實現持久層業務邏輯的工作都省了,唯一要做的,就只是宣告持久層的介面,其他都交給 Spring Data JPA 來幫你完成!