如何持久化Map <string,map <string,=“”string =“”>&gt; JPA?</string,>

时间:2015-04-10 17:18:42

标签: java hibernate jpa

Map<String, Map<String, String>> someMap = new HashMap<>();

如何在JPA 2.1中坚持这一点?

1 个答案:

答案 0 :(得分:2)

您可以将其序列化并将其作为blob存储在一列中:

@Lob
HashMap<String, Map<String, String>> someMap = new HashMap<>(); 
//!!!!it needs to be declared as HashMap not Map as Serializable is required for this field

但是只有当你不想对地图的内容运行查询时它才有效,就像数据库中存储的数据当然是DB不理解的字节序列。

你不能在JPA中拥有@ElementCollection @ElementCollection,这就是你需要拥有2级地图的地方。