Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA地图<;字符串,字符串>;xml映射_Java_Hibernate_Jpa_Orm_Persistence - Fatal编程技术网

Java JPA地图<;字符串,字符串>;xml映射

Java JPA地图<;字符串,字符串>;xml映射,java,hibernate,jpa,orm,persistence,Java,Hibernate,Jpa,Orm,Persistence,我正在尝试为Map字段定义xml映射 无法修改实体类,因此我使用JPA映射的XML变体,但无法找出正确的语法 有人能解释一下如何为这种情况编写JPAxml吗?或者明确地说,这在xml中是不可能的,但在注释中是可能的,如中所述 我甚至希望知道这是不可能的——理想情况下,当它参考规范中说明它的部分时。您还没有指定您正在使用的JPA实现,但我认为这应该适用于OpenJPA和Hibernate。。。请看这里: 您将遇到的困难是要映射到一个基本类型而不是实体类型。我不会说这是不可能的,但根据经验我会说这

我正在尝试为
Map
字段定义xml映射

无法修改实体类,因此我使用JPA映射的XML变体,但无法找出正确的语法

有人能解释一下如何为这种情况编写JPAxml吗?或者明确地说,这在xml中是不可能的,但在注释中是可能的,如中所述


我甚至希望知道这是不可能的——理想情况下,当它参考规范中说明它的部分时。

您还没有指定您正在使用的JPA实现,但我认为这应该适用于OpenJPA和Hibernate。。。请看这里:


您将遇到的困难是要映射到一个基本类型而不是实体类型。我不会说这是不可能的,但根据经验我会说这是痛苦的。

这些原始关系已添加到JPA2中,因此您必须使用JPA2 IME实现。我用日食。关键字是“ElementCollection”。这里似乎已经讨论过了:

经过更多的时间和寻找不同的东西,我碰巧在这里找到了答案:

解决办法是:

<element-collection name="quotes">
  <column name="QUOTE"/>
  <map-key-column name="Q_DATE"/>
  <collection-table name="EBC_QUOTES">
    <join-column name="EBC_ID"/>
  </collection-table>
</element-collection>


谢谢。。。理想情况下,我希望解决方案独立于实现-否则我可以使用Hibernate映射,它可以轻松地支持这一点。。。不幸的是,您的链接显示了一个具有实体类型值的示例。尽管如此,我还是想看看它有多痛苦;也许这让我决定这个方向是错误的,创建中间实体包装器更容易。根据这项研究,可能有注释;所以我假设xml语法也允许它。。很抱歉发了这个帖子。。您说过使用xml配置。所以我想简单的日食是不可能的。但是看一下hibernate文档,我就知道这也应该是可能的。。。