hibernate筆記一之配置文件

Hibernate


會使對數據據庫的操作,變成一個面向對象的操作(如現在有一個User對象,現在只有調用Hibernate 直接插入一個對象到數據庫中去,但是實際上是Hibernate自動生成了Sql 語句去操作數據庫),是一個應用於Dao層的框架,所以我們要告訴Hibernate 我們的對象與數據庫中表的射關係(ORM)ORM Object Relationnal Mapping 對象關係映射

  • transaction

    當事務提交了會把當前的線程的session 關閉,當再次調用getCurrentSession()時返回的session是一個新對象
    

  • hibernate.cfg.xml 配置文件
<property name="hbm2ddl.auto ">update</property>
update :如果數據庫不存在表結構,就自動創建表結構,如是存在表結構,並且表結構與實體一致,那麼不修改,如果表結構不一致,那麼會修改表結構,會保留原有列。

create: 無論是否數據庫中存在表結構,每次都會重新創建表結構,(數據會丟失)

create-drop:無論數據庫存在表結構,每次啓動hibernate 都會重新創建表結構,每執行完都會將表刪除

validate:不會創建表結構,也不會自動維護表結構。只負責校驗表結構,如果表結構不一致,將會拋出異常

  • orm 配置文件
<generator class="" ></generaotr>

generator : 主鍵生成策略

1、increment 數據庫自己生成主鍵,先從數據庫中查詢ID 最大值然後加一,
2、identity 依賴於數據的主鍵自增功能
3、sequence 依賴於數據中的序列功能(oracle)
4、hilo(這個永遠用不到)hibernate 自己實現序列的算法,自己生成主鍵(hilo算法)
5、native 自行根據數據庫判斷,三選一,identity|sequence|hilo
6、uuid 生成三十二位的不重複隨機字符串作爲主鍵
7、assigned 自己指定主鍵的值,表的主鍵是自然主鍵時,使用assigned,(自然主鍵:當某一個字段滿足、不爲空、不重複、唯一時,就可以把這個字段設爲自然主鍵)


  • property 節點中 type 屬性

    表達該屬性的類型可以用三種方式指定屬性
    1、java 類型  java.lang.String 
    2、數據庫類型指定 varchar
    3、Hibernate類型指定 string
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章