Hibernate 持久化類

2020-07-23 09:34 更新

持久化類

Hibernate 的完整概念是提取 Java 類屬性中的值,并且將它們保存到數(shù)據(jù)庫表單中。映射文件能夠幫助 Hibernate 確定如何從該類中提取值,并將它們映射在表格和相關(guān)域中。

在 Hibernate 中,其對象或?qū)嵗龑淮鎯υ跀?shù)據(jù)庫表單中的 Java 類被稱為持久化類。若該類遵循一些簡單的規(guī)則或者被大家所熟知的 Plain Old Java Object (POJO) 編程模型,Hibernate 將會處于其最佳運行狀態(tài)。以下所列就是持久化類的主要規(guī)則,然而,在這些規(guī)則中,沒有一條是硬性要求。

  • 所有將被持久化的 Java 類都需要一個默認(rèn)的構(gòu)造函數(shù)。
  • 為了使對象能夠在 Hibernate 和數(shù)據(jù)庫中容易識別,所有類都需要包含一個 ID。此屬性映射到數(shù)據(jù)庫表的主鍵列。
  • 所有將被持久化的屬性都應(yīng)該聲明為 private,并具有由 JavaBean 風(fēng)格定義的 getXXXsetXXX 方法。
  • Hibernate 的一個重要特征為代理,它取決于該持久化類是處于非 final 的,還是處于一個所有方法都聲明為 public 的接口。
  • 所有的類是不可擴展或按 EJB 要求實現(xiàn)的一些特殊的類和接口。

POJO 的名稱用于強調(diào)一個給定的對象是普通的 Java 對象,而不是特殊的對象,尤其不是一個 Enterprise JavaBean。

一個簡單的 POJO 的例子

基于以上所述規(guī)則,我們能夠定義如下 POJO 類:

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

   public Employee() {
      firstName=null;
      lastName=null;
      salary =0;
   }
   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;
   }
}


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號