Simple Persistence for Java是一個開源的對象關系型持久性庫,它使用定制查詢語言以及內建數據庫支持來簡化 Java 應用程序中的對象持久性。在本文中,軟件架構師 Sami Salkosuo 介紹了該庫,並帶您領略解決對象持久性的零管理以及零配置方法。
對象持久性幾乎是所有 Java™ 應用程序(從桌面應用程序到企業級應用程序)中的必備。持久性的缺點是它一直都不太簡單。但這一情況已在最近一版的 Simple Persistence for Java(一個開源的對象關系型持久性庫)中有所改變。
Simple Persistence for Java 2.1.0 版添加了對HSQLDB的支持,HSQLDB是一個純 Java數據庫。Simple Persistence for Java 和HSQLDB 都不需要應用程序用戶進行管理和配置。考慮以上因素,這些工具讓您能夠花相當少的力氣就將持久性引入到應用程序中。
本文向您介紹 Simple Persistence for Java v2.1.0,並展示了如何幾乎不費力氣地使用該庫以在 Java 應用程序中獲得對象持久性。
Simple Persistence for Java
Simple Persistence for Java是一個在 LGPL 許可下的開源庫,由 Hungarian company NetMind Consulting 公司內部開發並發布到開源社區。
Java 開發人員有許多對象關系型庫可用。Simple Persistence for Java 與其他庫的不同之處是它零配置即可使用。此庫的一個主要設計原則是:無需配置配置文件、XML 映射文件和屬性(當然,您要有一個合適的數據庫)。
Simple Persistence for Java庫還有以下一些重要特征:
小的存儲空間(135KB)
簡單的 API
支持多個數據庫
簡單查詢語言
多態性
惰性結果列表
在 2.1.0 版中,Simple Persistence for Java庫添加了對HSQLDB數據庫的支持。HSQLDB是一個開源的、輕量級的純 Java SQL數據庫引擎,它由一個 BSD 風格的許可協議授權。HSQLDB 支持 ANSI-92 SQL的富子集,也支持 SQL 99 和2003 增強版。它提供基於內存和基於磁盤的表,並支持內嵌式操作模式和服務器操作模式。
StockData 應用程序
我將用一個叫做 StockData的樣例程序向您展示通過Simple Persistence for Java庫和HSQLDB 來獲得對象持久性是多麼簡單。StockData 基於用戶查詢過濾歷史證券數據(在一個 CSV文件中)。該程序和一個內嵌式數據庫一起操作,且從命令行中運行。
為繼續討論,您需要重建類似我這樣的開發環境並建立樣例應用程序。StockData的開發環境為 Eclipse 3.2.1,最低的 Java 版本是 JDK 1.5.0。我使用了基於內存的數據庫選項在內嵌模式下開啟了 HSQLDB數據庫。請注意,我可以選一個基於磁盤的內嵌式數據庫或服務器端數據庫,但出於演示的目的,我選了 HSQLDB 基於內存的數據庫。
需要下列庫來執行 StockData 樣例程序:
commons-io-1.2.jar
commons-logging-api.jar
commons-logging.jar
hsqldb.jar
java-cup-11-runtime.jar
log4j-1.2.8.jar
netmind-persistence-2.1.0.jar
StockData 程序使用 commons-io包和commons-logging包,HQSLSB 並不依賴於任何 jar文件。netmind-persistence-2.1.0.jar 依賴於 java-cup-11-runtime.jar 和log4j-1.2.8.jar。