hibernate筆記–實體類對映檔案”*.hbm.xml”詳解
實體類就是指普通的POJO,Hibernate並不知道那個實體類對應資料庫的哪一張表,所以還需要配置一下,常用的方式就是*.hbm.xml檔案[配置與@註解配置,這裡介紹前者的詳細屬性:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- package宣告pojo類所在的包,如果不寫那麼在class的name屬性裡需要指定包名全路徑
schema指資料庫模式,一個模式下可以有多張表
-->
<hibernate-mapping package="com.wang.pojo">
<!-- class指對映一下pojo類,提供了公共的無參構造方法,通過反射產生物件
屬性用private修飾,並且生成get,set方法
類不能用final來修飾,
類需要指明標識 ,即id屬性
name:表示pojo類名
table:標識對應的資料庫表名 -->
<class name="User" table="user">
<!-- id:表示實體類的標識
對應資料庫表中的主鍵
name:是指實體類的標識屬性名
column表示對應資料庫表的列名,如果不寫,則資料庫表中列名和屬性名一致
length:標識資料庫表中對應資料型別的長度,如果不寫有預設長度
type表示型別,如果不寫hibernate可以找到對應的pojo類的屬性的型別,可以寫成int,string,java.lang.Integer等等 -->
<id name="id" column="id" >
<!-- 主鍵生成策略
native:根據底層資料庫能力選擇identity,sequence,或者hilo中的一個
-->
<generator class="native"></generator>
</id>
<!-- 實體類屬性 -->
<property name="name"/>
<property name="pwd"/>
</class>
</hibernate-mapping>
- 主鍵對映
實體類最好有一個主鍵列,並有get/set方法,主鍵最好使用可以為Null值的資料型別,比如Integer,Long,String,而不要使用int ,long等,因為如果主鍵為null,表示這個實體類還沒有儲存到資料庫,是一個臨時狀態(Transient),而int,long等基本資料型別沒有這個功能.
主鍵生成規則:也成為主鍵生成策略,用的最多的就是native(自增長策略),
native:自動方式,根據底層資料庫自動選擇.
在class標籤下,配置主鍵對映為:
<id name="id" column="id" >
<generator class="native"></generator>
</id>
- 普通屬性對映
普通屬性就是除主鍵外,java基本資料型別的屬性,比如Integer(int),String,Date等,注意Integer預設為null,int預設為0.
xml中使用<property />標籤配置普通屬性.type指定列型別,
日期屬性配置,與普通屬性配置相同,只是type中指定的是日期型別即可,取值可以有date,time,timestamp(簡寫方式)
相關文章
- Hibernate配置檔案中對映元素詳解
- 記憶體對映檔案詳解-----C++實現(即一塊記憶體和一個檔案相對映對應)記憶體C++
- Hibernate中實體類對映檔案表與表的關係模版
- hibernate(五) hibernate一對一關係對映詳解
- 一個記憶體檔案對映使用者類 (轉)記憶體
- 使用記憶體對映檔案(mmap)記憶體
- Hibernate對映檔案一對多關係薦
- Hibernate繼承對映多型的詳解繼承多型
- Java實體對映工具MapStruct詳解JavaStruct
- VC++中用記憶體對映檔案 (轉)C++記憶體
- 二進位制檔案記憶體對映記憶體
- Hibernate配置檔案詳解
- Middlegen生成Hibernate對映檔案時出錯
- Java使用記憶體對映實現大檔案的上傳Java記憶體
- Java實體對映工具MapStruct使用詳解JavaStruct
- windows核心程式設計--記憶體對映檔案Windows程式設計記憶體
- Python mmap的使用-檔案記憶體對映Python記憶體
- 居然這就是C++記憶體對映檔案?!C++記憶體
- JAVA記憶體對映檔案實現多執行緒下載Java記憶體執行緒
- 學習Hibernate原始碼二_Hibernate物件對映檔案hbm學習原始碼物件
- 非同步日誌 vs. 記憶體對映檔案非同步記憶體
- Hibernate 實體關聯關係對映—-總結薦
- hibernate 元件對映元件
- 記憶體對映記憶體
- JVM學習筆記——Class類檔案解讀JVM筆記
- Java記憶體對映,上G大檔案輕鬆處理Java記憶體
- 溫故之.NET程式間通訊——記憶體對映檔案記憶體
- python實現兩字串對映詳解Python字串
- MySQL提升筆記(3)日誌檔案詳解MySql筆記
- mmap記憶體對映記憶體
- C#記憶體對映大檔案並使用Marshal解析結構體資訊C#記憶體結構體
- Hibernate--繼承對映繼承
- Mybatis學習筆記(5)-高階對映之多對多對映MyBatis筆記
- hibernate一對多、多對多的實體設計和配置檔案配置
- mybatis 實體類排除資料庫欄位對映MyBatis資料庫
- Solidity語言學習筆記————17、原始檔對映Solid筆記
- Mybatis對映檔案簡介MyBatis
- PostgreSQL 物理檔案對映解析SQL