91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hibernate映射文件怎么定義

發布時間:2022-09-29 16:35:41 來源:億速云 閱讀:163 作者:iii 欄目:開發技術

這篇文章主要介紹“Hibernate映射文件怎么定義”,在日常操作中,相信很多人在Hibernate映射文件怎么定義問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”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映射文件怎么定義”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南投市| 澎湖县| 封丘县| 靖远县| 岳阳市| 孝昌县| 甘洛县| 政和县| 光泽县| 泾川县| 红安县| 宜川县| 杭锦旗| 巫山县| 怀安县| 安丘市| 商都县| 凤庆县| 抚顺县| 贵州省| 盐津县| 柯坪县| 平乡县| 锡林浩特市| 张家界市| 界首市| 祁阳县| 正安县| 西华县| 宜章县| 秭归县| 桐城市| 临漳县| 镇沅| 富顺县| 溧阳市| 且末县| 济阳县| 家居| 聊城市| 花莲县|