2011-01-31 56 views
4

什麼是堅持在一個類中的下列地圖的最佳方式:堅持一個Map <整數,浮點數>使用JPA

@Entity 
    class MyClass { 


     @ManyToMany(cascade = CascadeType.ALL)  
     Map<Integer,Float> myMap = new HashMap<Integer, Float>(); 
    } 

我已經試過了,但代碼的結果:

org.hibernate.AnnotationException:由造成@OneToMany或@ManyToMany的使用目標未映射類:mypackage.myClass.myMap [java.lang.Float中]

+0

你爲什麼把`@ ManyToMany`標註到地圖上?這個註釋是爲了創建實體之間的關係(DB中的表格發言) – gabuzo 2011-01-31 10:07:31

回答

9

不能使用@ManyToManyIntegerFloat,因爲這些類型是值類型,而不是實體。使用@ElementCollection(自Hibernate 3.5以來)或@CollectionOfElements(在以前的版本中)。

@ElementCollection 
Map<Integer,Float> myMap = new HashMap<Integer, Float>(); 

參見:

+0

工作很棒,我發現它沒有導入org.hibernate,所以它是JPA的一部分? – Roalt 2011-01-31 12:14:53