位置:首頁 > Java技術 > hibernate > Hibernate持久化類

Hibernate持久化類

Hibernate的整個概念是采取從Java類屬性的值,並將持久到數據庫表。一個映射文件Hibernate的幫助確定如何從拉動類的值,並將它們映射與表和相關的域。

其對象或實例將存儲在數據庫表中的Java類在Hibernate中稱為持久化類。 Hibernate的效果最好,如果這些類遵循一些簡單的規則,也稱為普通Java對象(POJO)編程模型。有下列持久化類的主要規則,但是,這些規則並不是必需的。

  • 將所有的持久化Java類需要一個默認的構造函數。

  • 所有類應該包含為了讓容易識彆對象內Hibernate和數據庫的ID。此屬性映射到數據庫表的主鍵列。

  • 所有屬性將被持久化應該聲明為private,並已在JavaBean風格的定義的getXXX和setXXX方法。

  • Hibernate的關鍵功能,代理,取決於持久化類或者是非final的,或者說聲明的所有公共方法的接口的實現。

  • 所有的類不擴展或實現的EJB框架需要進行一些專門的類和接口。

POJO名稱用於強調一個給定的對象是一個普通的Java對象,而不是一個特殊的對象,好更不是Enterprise JavaBean。

一個簡單的POJO例子:

基於上麵提到的一些規則,我們可以如下定義一個POJO類:

public class Employee {
   private int id;
   private String firstName; 
   private String lastName;   
   private int salary;  

   public Employee() {}
   public Employee(String fname, String lname, int salary) {
      this.firstName = fname;
      this.lastName = lname;
      this.salary = salary;
   }
   public int getId() {
      return id;
   }
   public void setId( int id ) {
      this.id = id;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName( String first_name ) {
      this.firstName = first_name;
   }
   public String getLastName() {
      return lastName;
   }
   public void setLastName( String last_name ) {
      this.lastName = last_name;
   }
   public int getSalary() {
      return salary;
   }
   public void setSalary( int salary ) {
      this.salary = salary;
   }
}