本文記錄了在 JDK 5.0、Hibernate 2.1 與 SQL Server 2000 SP3 環境下的實測配置過程,適合初次接觸 Hibernate 持久層開發的開發者參考。
初次使用 Hibernate 時,最大的感受是配置相對複雜,除錯過程也不夠直觀。Hibernate 基於反射機制雖然靈活,但也增加了程式碼追蹤的難度,拋出的異常資訊往往不夠詳細。隨著 Java 引入 Annotation 語法,未來若能以註解取代傳統的 .hbm.xml 映射檔,將大幅提升開發效率與可維護性。
以資料庫 yufan 為例,首先建立客戶資料表:
CREATE TABLE CUSTOMER (
CID INTEGER NOT NULL PRIMARY KEY,
USERNAME VARCHAR(12) NOT NULL,
PASSWORD VARCHAR(12)
);
Hibernate 要求實體類別為每個欄位提供標準的 getter/setter 方法,以便透過反射存取屬性:
public class Customer {
private int id;
private String username;
private String passWord;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getPassWord() { return passWord; }
public void setPassword(String passWord) { this.passWord = passWord; }
}
注意:原始碼中 setPassword 方法參數名與欄位名不一致(passWord vs password),實際開發中建議統一命名規範,避免潛在錯誤。
完成實體類別後,仍需編寫映射檔(Customer.hbm.xml)、配置 hibernate.cfg.xml 連線資訊,並撰寫測試程式驗證 CRUD 操作。受篇幅限制,這些內容將在後續文章補充。