Hibernate_7_映射有關的知識點

(一)集合映射:

類型       Java中聲明         映射元素

------------------------------------------

Set       Set<set>          <set>

List      List<list>        <list>

Map       Map<map>          <map>

數組       ...[]            <array>

Bag       List/Collection  <bag>

---------------

要說明的信息有:

1,只要有集合,就一定有集合表。

2,集合外鍵。

3,集合元素。

4,對於List和數組,還需要多一個索引列。

5,對於Map,還需要多一個key列。

(二)關聯關係映射(要說明的信息有什麼):

一對多:

1,屬性名

2,集合外鍵

3,關聯的實體類型(one-to-many  class=""

 

多對一:

1,屬性名

2,外鍵列名

3,關聯的實體類型

 

多對多:

1,屬性名

2,中間表

3,集合外鍵:引用當前對象表主鍵值的那外外鍵

4,關聯的實體類型

5,另一個外鍵:引用關聯實體表主鍵的那個外鍵。

 

一些重要的屬性:

inverse:

是否放棄維護關聯關係;默認是false,表示可以維護;實體類型的集合映射中可以使用(一對多、多對多)。


sort:

在內存中排序(類似於TreeSet);默認爲unsorted,即不排序;在無序的集合映射中可以使用。


order-by:

使用數據庫排序,即在SQL中增加orderby子句(類似於LinkedHashSet);

默認不排序,這裏指定的是sql語句中的orderby子句;在無序的集合映射中可以使用。


cascade:

級聯; 默認爲none; 在所有的關聯關係映射中可以使用。

常用的值:all, save-update, delete, none.

(三)Session中的方法。

對象的狀態:

Session數庫中

------------------------------------

臨時 無關無關

持久化 有關最終會有關

遊離 無關有關

刪除 調用了delete()方法後

 

1,操作實體對象的

save()

update()

saveOrUpdate()

delete()

2,操作緩存的

clear()清空Session緩存,不會執行sql語句。

evict()

flush()馬上執行sql語句,不會清楚Session緩存。

 

3,查詢實體對象的

get()

load() 懶加載

createQuery()

createCriteria()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章