大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Hibernate映射文件的詳細介紹

Hibernate映射文件的詳細介紹

更新時間:2022-02-11 11:25:34 來源:動力節點 瀏覽978次

對象/關系映射通常在 XML 文檔中定義。這個映射文件指示 Hibernate——如何將定義的一個或多個類映射到數據庫表?

盡管許多 Hibernate 用戶選擇手動編寫 XML,但存在許多工具來生成映射文檔。其中包括適用于高級 Hibernate 用戶的XDoclet、Middlegen和AndroMDA。

讓我們考慮我們之前定義的 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;
   }
}

您愿意提供持久性的每個對象都會對應一個表。考慮上述對象需要存儲和檢索到以下 RDBMS 表中

create table EMPLOYEE (
   id INT NOT NULL auto_increment,
   first_name VARCHAR(20) default NULL,
   last_name  VARCHAR(20) default NULL,
   salary     INT  default NULL,
   PRIMARY KEY (id)
);

基于以上兩個實體,我們可以定義如下映射文件,它指示 Hibernate 如何將定義的一個或多個類映射到數據庫表。

<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping>
   <class name = "Employee" table = "EMPLOYEE">      
      <meta attribute = "class-description">
         This class contains the employee detail. 
      </meta>      
      <id name = "id" type = "int" column = "id">
         <generator class="native"/>
      </id>      
      <property name = "firstName" column = "first_name" type = "string"/>
      <property name = "lastName" column = "last_name" type = "string"/>
      <property name = "salary" column = "salary" type = "int"/>      
   </class>
</hibernate-mapping>

您應該將映射文檔保存在格式為 .hbm.xml 的文件中。我們將映射文檔保存在文件 Employee.hbm.xml 中。

讓我們了解一下有關映射文件中使用的映射元素的一些細節 -

映射文檔是以<hibernate-mapping>作為根元素的 XML 文檔,它包含所有<class>元素。

元素用于定義從 Java 類到數據庫表的特定映射。Java 類名使用class 元素的name屬性指定,數據庫表名使用 table 屬性指定。

< meta>元素是可選元素,可用于創建類描述。

<class>元素將類中的唯一 ID 屬性映射到數據庫表的主鍵。id 元素的name屬性指的是類中的屬性,column屬性指的是數據庫表中的列。type屬性保存hibernate 映射類型,這種映射類型將從Java 轉換為SQL 數據類型。

id元素中的<generator>元素用于自動生成主鍵值。生成器元素的class屬性設置為native以讓 hibernate 選擇identity、sequence或hilo算法來根據底層數據庫的功能創建主鍵。

<property>元素用于將 Java 類屬性映射到數據庫表中的列。元素的名稱屬性是指類中的屬性,列屬性是指數據庫表中的列。type屬性保存hibernate 映射類型,這種映射類型將從Java 轉換為SQL 數據類型。

還有其他可用的屬性和元素,它們將在映射文檔中使用,在討論其他 Hibernate 相關主題時,將嘗試涵蓋盡可能多的內容。如果您想了解更多相關知識,可以關注一下動力節點的Java視頻,里面的課程內容細致全面,通俗易懂,適合小白學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产亚洲精品久久久久久久软件 | 亚洲国产精久久小蝌蚪 | 成年女人免费视频播放77777 | 神马九九 | 动漫美女撒尿 | 久久视频免费 | 女人国产香蕉久久精品 | 狠狠色成人综合首页 | 中文字幕欧美一区 | 日韩小视频 | 爆操大奶美女 | 123日本不卡在线观看 | 天天操天天干天天插 | 91精品欧美成人 | 成人免费动作大片黄在线 | 日韩精品国产自在久久现线拍 | 成熟女人50岁一级毛片不卡 | 精品久久久中文字幕 | 欧美乱大交xxxxx按摩v | 女bbbbxxxx毛片视频丶 | 天天射天天射天天射 | 成人欧美一区二区三区黑人免费 | 国产精品柳州莫菁身材四 | 久99久视频 | 成人区精品一区二区不卡亚洲 | 美女被羞羞在线观看 | 亚洲精品成人网 | 婷婷丁香久久 | 国产亚洲精品自在线观看 | 日韩精品视频观看 | 男人的天堂视频 | 欧美精品综合一区二区三区 | 五月婷综合网 | 干成人网 | 国产精品九九九久久九九 | 成人爱爱爱欧美日本视频 | 日韩精品欧美国产精品亚 | 成年女人免费视频播放77777 | 日本黄色小视频在线观看 | 日韩欧美亚洲国产高清在线 | 精品一区二区三区亚洲 |