當您需要應用程式支援資料時, Java™Persistence API (JPA)為使 用關係型資料庫提供了一個簡單的方法。儘管過去 JPA 一直與 Enterprise Java™Beans (EJBs)一起使用,但是 JPA 與 Web 應用程式一起直接使用 也十分方便。本篇文章描述了 IBM® Rational® ApplicationDeveloper for WebSphere® Software V7.5 提供的簡化程式模型與工具,它們能方便地 構建使用 JPA 的 Web 應用程式。注意:本篇文章基於 IBM Rational Application Developer V7.5 Open Beta 版。
通過本文的姐妹篇 “使用 IBM Rational Application Developer V7.5 中的 JPA,Ajax 與 Dojo 工具開發 Web 2.0 應用程式”,瞭解怎樣使用 IBM Rational Application Developer V7.5 中的 JPA、Ajax 和 Dojo 工具,來建立一個端到 端的 Web 應程式。
您還可以查看 “產品示範:在 IBM Rational Application Developer V7.5 中使用 JPA 支援”,本次示範將介紹 IBM Rational Application Developer V7.5 新特性之一,對 Java 持久性 API (JPA, Java Persistence API) 的支援。
Java™Persistence API (JPA)是使用關係型資料庫的 Java 模型對象支援的規格說明。本篇文章給您一 個關於 JPA 的概述,並向您展示它怎樣在 Web 應用程式環境下運行,以及怎樣 使用 Rational Application Developer V7.5 應用 Java™Server Faces (JSF)來構建 JPA Web 應用程式。
JPA 的概述
JPA 是一個用於 對象關係映射以及資料支援的簡化程式模型。資料支援確保檢索資料與更新資料 的應用程式,在後端資料庫的目前狀態下,被同時儲存。在過去,這是通過使用 Java Database Connectivity (JDBC) APIs 與 其他的資料架構來完成的,通 常這些步驟相當繁瑣,並涉及到書寫複雜的查詢語句,以添加或修改資料。
通過使用您資料庫表,被訪問實體的 Java 代表,以及提供一系列的 APIs 以 支援和查詢資料,JPA 簡化了這個過程。
實體
實體物件是 JPA 應用程式中使用的主要模型。一個實體是資料庫中為表格建 模的 POJO(Plain Old Java Object)。它包含了與表格列相對應的屬性,並允 許應用程式直接與資料庫的概念性模型相聯絡。
範例
這是一個包含 deptname 列的名為 Department 的資料庫。在應用程式中,有 一個相對應的名為 Department 的 Java 類,還包含了一個名為 deptname 的區 網域名稱,以及 正確的 get 與 set 方法。圖 1 顯示出了整個的 Department 表, 以及相應的實體類。 圖 1. Department 表與實體
映射一個實體與關聯式資料庫的資訊,例如識別主要關鍵字和關係,可以使用 Java 注釋在一個實體類中直接指定。您也可以選擇,在一個單獨的映射設定檔 中指定這些映射。JPA 在任何可能的情況下,為這些資料對應使用一般意義下的 預設值。這就在您的應用程式中消除了大量的錯誤碼和繁瑣的映射資訊。例如 ,假設一個名為 Department 的實體類,與一個名為 Department 的資料庫表相 映射。您不需要使用注釋或者設定檔,來詳細定義該映射,除非您需要更改默 認值。