Hibernate學習--對映檔案xxx.hbm.xml詳解
阿新 • • 發佈:2019-01-01
前言
說一說Hibernate對映檔案的作用並解析。
先說一下Hibernate對映檔案與Hibernate配置檔案的關係:
xxx.hbm.xml檔案解析
對映檔案的作用
對映檔案(xxx.hbm.xml)用來把PO(也就是要持久化到資料庫的類?)與資料庫中的資料表、PO之間的關係與資料表之間的關係,以及PO的屬性與表字段一一對映起來,它是Hibernate的核心檔案。
PO
PO:Persistent Objects,即持久化物件,它可以是普通的JavaBean,惟一特殊的是它們與(僅一個)Session相關聯。JavaBean在Hibernate中存在三種狀態:臨時狀態(transient)、持久化狀態(persistent)和脫管狀態(detached)
參考資料
具體解析
大體內容
對映檔案大體包含了一下內容:
要對映(要持久化的)類的路徑、要持久化到的表和資料庫、資料表的欄位資訊(欄位名、欄位型別、欄位長度)等,將它們即持久化類與資料庫表建立一一對映,這說明對映文件是按照持久化類的定義來建立的,而不是表的定義。
解析
粘一段程式碼:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Mapping file autogenerated by MyEclipse Persistence Tools -->
<hibernate-mapping >
<!--class name:持久化類的路徑
table:對應資料庫表名
schema:資料庫schema的名稱
-->
<class name="cn.edu.sdut.softlab.Person" table="person" schema="hibernate">
<!--column:資料庫表的主鍵這段的名字
name:持久化類的標識屬性的名字
type:標識Hibernate型別的名字
-->
<id name="id" type="java.lang.String">
<column name="ID" length="32" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="20" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" not-null="true" />
</property>
<property name="sex" type="java.lang.String">
<column name="SEX" length="20" />
</property>
<property name="email" type="java.lang.String">
<column name="EMAIL" length="30" />
</property>
</class>
</hibernate-mapping>
參考資料
總結
對映檔案與配置檔案的關係。