簡體   English   中英

如何注釋HashMap?

[英]How to annotate HashMap?

我有這個模型:

@Entity
public class ImageModel extends Model {
@Id
private String id;
private String url;

@ManyToMany(cascade = CascadeType.ALL)
private Map<String,String> tags = new HashMap<>();

public void add(String key, String value){
    tags.put(key,value);
}

public String get(String key){
     return tags.get(key);
}

}

這是我創建新對象的方式:

 ImageModel imageModel = new ImageModel();
/* fill object with data */
imageModel.save(); // I saved it

但是,當我嘗試檢索數據時,HashMap的記錄為零:

HashMap<String, String> imageTags = (HashMap<String, String>) imageModel.getTags();

我該怎么辦,哈希表中的信息也將被保存? 我已經查看了其他SO帖子並嘗試了,但是似乎沒有任何效果:@ManyToMany(cascade = CascadeType.ALL) JPA Map <String,String>映射

我必須說我正在使用Play framework 2.1。

您似乎正在嘗試使用ManyToMany,該方法用於引用具有自己的表和標識的實體時使用。 字符串不是實體,因此您可能希望對簡單類型使用elementCollection。 此處使用http://wiki.eclipse.org/EclipseLink/Examples/JPA/2.0/ElementCollections討論了ElementCollections,並使用了一個簡單的示例,其中使用了此處顯示的地圖: http : //wiki.eclipse.org/EclipseLink/Development/JPA2.0 /Extended_Map_support#Basic_-_Basic.2FEmbeddable

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM