JPA對映Map的問題

2021-07-23 07:31:22 字數 1333 閱讀 9029

之前遇到過幾次使用jpa對映entity中的map成員時遇到的問題,有一些註解的使用很容易混淆,所以自己在這記一下。

1. map的對映

這種map的key和value都是字串型別,或者是其他基礎型別的,對映時可使用下面的方式:

@elementcollection

@collectiontable(name="table_name")

@mapkeycolumn(name="propkey")

@column(name="propvalue")

private mapproperties = new hashmap();

2. map的對映

key是基礎型別,value是物件

@onetomany

@jointable(name="amplifier_prop",inversejoincolumns=@joincolumn(name="propvalue"))

@mapkeycolumn(name="propkey")

private mapproperties = new hashmap();

3. map的對映

key和value都是物件

@onetomany

@jointable(name="testentity_prop",inversejoincolumns=@joincolumn(name="propvalue"))

@mapkeyjoincolumn(name="amplifier_id")

private mapprops = new hashmap();

4. map的對映

key是物件,value是字串或其他基礎型別

@elementcollection

@collectiontable(name="table_name")

@mapkeyjoincolumn(name="propkey")

@column(name="propvalue")

private mapproperties = new hashmap();

當key是基礎型別或非基礎型別時,需要注意

註解@mapkeycolumn和@mapkeyjoincolumn,前者是專用於基礎型別的,比如integer或者string等等,後者則是用於object

當value是物件時,使用@onetomany形式的註解方式

以上4種方式是我自己測試過的,沒問題的。也應該還有其他方式,懶的再去google的就按我這個寫吧。

scala的map對映問題

val list1 list 3,5,7 集合 val list2 list int 對上述傳統的問題來解決問題的小結 1 優點 處理方法比較直接,好理解 不利於處理複雜的資料處理業務map對映操作 上面提出的問題,其實就是關於集合元素對映操作為問題,在scal中可以通過map對映操作來解決 將集合...

jpa關聯對映 一)

開發中常用到資料表的關聯 其實很難遇到。spring data jpa 其實是hibernate 提供了一整套十分方便的註解來供我們使用表關聯功能。onetoone onetomany manytoone manytomany 舉例之前,先理解兩個表的關係中,哪乙個是主體,一對一以及多對多需要自己按...

Erlang下map(對映組)的問題

主要是遇到 map匹配的問題,所以順便回憶一下 erlang 中的對映組 map,在其它語言中被稱作 hash 雜湊或者 dict 字典。erlang 從 r17 版本開始支援對映組 建立對映組 erlang 中的對映組用結構 表示,建立乙個對映組可以這樣 不管你怎麼排序,最終結果都是按鍵的字典順序...