2012-02-13 55 views
0

如何在JPA中映射Map? 我嘗試以下映射:JPA Map <用戶,字符串>映射

@ManyToMany 
public Map<User, String> rsvp; 

,但我得到了以下錯誤:

A JPA error occurred (Unable to build EntityManagerFactory): Use of @OneToMany or @ManyToMany targeting an unmapped class: models.Event.rsvp[java.lang.String] 

謝謝!

+3

JPA爲實體的持久性爲價值支撐,以及非實體定義爲關鍵。它沒有明確定義對具有非實體值的實體密鑰的支持。 JDO AFAIK是唯一允許的規範。很顯然,一些JPA實現可能會添加自己的支持 – DataNucleus 2012-02-13 08:10:12

回答

1

聽起來像是你的用戶類是未映射,

嘗試添加

<entity class="com.path.to.user.User" /> 

到您的映射文件,並確保用戶有一個註解@Entity

我有一個類似的例子在我的代碼定義爲

@ManyToMany(cascade = CascadeType.ALL) 
Map<String,Activity> activityMap= new HashMap<String, Activity>(); 
+0

用戶擁有@Entity註釋。我添加了'Cascade = CascadeType.ALL',但錯誤沒有改變。 – 2012-02-13 07:19:02

相關問題