iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0

前面幾篇文章有提到過JPA,可能會有人好奇什麼是JPA,先前在上課學習時,只記得JPA與資料庫持久化有關,甚至以為是ORM的一種,但仔細一查才發現根本不是。一起來了解吧。

JPA是一種Java的標準規範

JPA(Java Persistence API, JAVA持久化API),是Java的一個標準規範,用在物件關係映射(ORM,Object Relation Mapping)。標準規範的意思是,定義一組標準接口與註解,說明如何將Java物件映射到關聯資料庫當中,不同的ORM框架只要遵守此標準,就能用此來進行操作。

JPA主要用來簡化ORM操作

接續前述所說,ORM框架有許多種,例如Hibernate、EclipseLink,透過JAP規範,開發者能夠以統一的方式進行資料庫操作,而不被特定ORM框架所綁定。這個好處在於,若日後需要切換到另一個ORM框架時,不需要重寫資料庫操作邏輯,只要確保新框架也遵循JPA標準即可。這樣,我們只需要學習JPA的接口與註解,而不必深入了解每個ORM框架的細節。

JPA提供的查詢語言是JPQL(Java Persistence Query Language),能在物件模型上查詢,與SQL不同的是,JPQL是基於物件,而非資料表進行查詢。實際在使用JPA操作資料庫時,是通過ORM框架執行具體的查詢邏輯,使查詢變得靈活。

JPA與Spring、Spring Boot的關聯

  • Spring 通過 Spring Data JPA 將JPA與Spring框架整合,使得資料庫操作更簡便:

    • 簡化操作:定義接口即可完成CRUD,不用繁瑣代碼。
    • 自動查詢:透過方法命名規則自動生成查詢。
    • 事務管理:與Spring事務管理整合,確保一致性與回滾。
  • Spring Boot 進一步簡化JPA使用:

    • 自動配置:自動設置JPA依賴與資料庫連接,不需手動配置。
    • 內建H2資料庫:提供內存資料庫的測試環境。
    • 快速整合:Spring Boot和Spring Data JPA無縫結合,開發更高效。

補充:JDBC也是類似概念:
JDBC(Java Database Connectivity)也是Java的標準API,用於連接和操作關係資料庫,無論使用哪種資料庫,只要驅動程式實現JDBC接口,都能使用相同的JDBC API操作。
與JPA的概念類似,JPA為ORM提供統一標準,而JDBC是為資料庫操作提供統一接口。

理解這些概念,能更好使用JPA操作資料庫數據,避免混淆JPA與具體的ORM框架。


上一篇
不用剪但要理的多角關係—實體關係
下一篇
自動配置—Spring常見註解揭秘
系列文
從卡關到通關的Spring Boot 腦內風暴13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言