Java 我想使用列表<;字符串>;作为地图的一个值。我想在JPA中持久化这个类。无法将数据放入这样的实体类中

Java 我想使用列表<;字符串>;作为地图的一个值。我想在JPA中持久化这个类。无法将数据放入这样的实体类中,java,jakarta-ee,jpa-2.0,Java,Jakarta Ee,Jpa 2.0,我想使用列表作为地图的值。我想在JPA中持久化这个类。有什么办法吗 代码似乎很简单 @ElementCollection private Map<String, List<String>> map1 = new HashMap<String, List<String>>(); @ElementCollection 私有映射map1=新的HashMap(); 我应该如何为这个map元素创建setter方法 当我试图在实体中持久化数据时,似乎出现了

我想使用
列表
作为地图的值。我想在JPA中持久化这个类。有什么办法吗

代码似乎很简单

@ElementCollection
private Map<String, List<String>> map1 = new HashMap<String, List<String>>();
@ElementCollection
私有映射map1=新的HashMap();
我应该如何为这个map元素创建setter方法

当我试图在实体中持久化数据时,似乎出现了一个错误


它无法将
列表中的数据读入map值。

我不理解这种结合JPA的思维方式。ORM意味着将表示域的对象模型映射到关系模式,而不是Java集合类。在本例中,我会使用直接SQL、SpringJDBC模板、iBatis或其他一些工具。或者干脆放弃JPA。它给你买了什么?除了困惑和悲伤什么都没有。我理解的可能的副本,但必须使用JPA实现这个类,不能转储技术。如有任何建议,将不胜感激。这里发生的问题是表的第三级。第一级是实体类本身。这是正确的。哈希映射的第二个级别是正确创建。但是第三个级别,即地图值列表导致了一个问题。如果映射的键和值都是字符串,则没有问题。不,区别在于列表是字符串类型,并且不存储另一个enity。我尝试过这样做,但无法将列表读取到列表中,无论如何,请让我通过链接进行尝试。谢谢