之前遇到過幾次使用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 中的對映組用結構 表示,建立乙個對映組可以這樣 不管你怎麼排序,最終結果都是按鍵的字典順序...