Hibernate 持久化类

hibernate 持久化类

hibernate 的完整概念是提取 java 类属性中的值,并且将它们保存到数据库表单中。

映射文件能够帮助 hibernate 确定如何从该类中提取值,并将它们映射在表格和相关域中。

在 hibernate 中,其对象或实例将会被存储在数据库表单中的 java 类被称为持久化类。

若该类遵循一些简单的规则或者被大家所熟知的 plain old java object (pojo) 编程模型,hibernate 将会处于其最佳运行状态。以下所列就是持久化类的主要规则,然而,在这些规则中,没有一条是硬性要求。

  • 所有将被持久化的 java 类都需要一个默认的构造函数。
  • 为了使对象能够在 hibernate 和数据库中容易识别,所有类都需要包含一个 id。此属性映射到数据库表的主键列。
  • 所有将被持久化的属性都应该声明为 private,并具有由 javabean 风格定义的 getxxx 和 setxxx 方法。
  • hibernate 的一个重要特征为代理,它取决于该持久化类是处于非 final 的,还是处于一个所有方法都声明为 public 的接口。
  • 所有的类是不可扩展或按 ejb 要求实现的一些特殊的类和接口。

pojo 的名称用于强调一个给定的对象是普通的 java 对象,而不是特殊的对象,尤其不是一个 enterprise javabean。

 

一个简单的 pojo 的例子

基于以上所述规则,我们能够定义如下 polo 类:

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;
   }
}

下一节:hibernate 映射文件

hibernate 教程

相关文章