Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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
javax.persistence.metamodel.Map和java.util.Map之间有什么区别?_Java_Google App Engine_Jdo - Fatal编程技术网

javax.persistence.metamodel.Map和java.util.Map之间有什么区别?

javax.persistence.metamodel.Map和java.util.Map之间有什么区别?,java,google-app-engine,jdo,Java,Google App Engine,Jdo,我试图在GAE中编写一个JDO注释类,我想持久化一个映射。映射应该是一个实体字段,它是按日期散列的实体集合。(我甚至不确定这是否是正确的方法) Eclipse的自动完成为我提供了javax.persistence.metamodel.Map和java.util.Map。这两者有什么区别?前者的一个例子是什么?在google app engine中只允许这些集合[1]: java.util.ArrayList java.util.HashSet java.util.LinkedHashSet j

我试图在GAE中编写一个JDO注释类,我想持久化一个映射。映射应该是一个实体字段,它是按日期散列的实体集合。(我甚至不确定这是否是正确的方法)


Eclipse的自动完成为我提供了javax.persistence.metamodel.Map和java.util.Map。这两者有什么区别?前者的一个例子是什么?

在google app engine中只允许这些集合[1]:

  • java.util.ArrayList
  • java.util.HashSet
  • java.util.LinkedHashSet
  • java.util.LinkedList
  • java.util.List
  • java.util.Set
  • java.util.SortedSet
  • java.util.Stack
  • java.util.TreeSet
  • java.util.Vector
  • 请参阅本文下面的第一条评论
所以我建议您将这些类与给定的包一起使用


[1]

据我从的javadoc中看到的,在最新的API中似乎不存在,元模型映射似乎是util映射的包装器,以便我们可以使用它来获取有关util映射的元数据。

一个是来自GAE支持的标准Java库的类,另一个是JPA API的一部分(您没有使用的).

事实上并不完全正确。Map已经通过JDO/JPA支持了相当长的一段时间。请参阅,并请求他们更新文档注意:datanucleus appengine库的上一个版本是在2012年1月。因此,如果您使用这些文件或appengine java sdk的文件,则不支持Map。正如他们在本期中提到的,我t将在2.0.1中可用(或者您可以自己构建)。不完全是(同样;-)。2012年9月为2.1.1,2012年6月为2.0.1.1。我认为,2.1.2也将很快出现在下一个AppEngine SDK中(因为谷歌已经将其分支以构建该SDK)。我在哪里可以下载这些版本(有官方网站吗)?At只有2.0.0可用。在我的appengine java sdk(版本1.7.4)中,只有一个datanucleus-appengine-1.0.10.final.jar(lib/user/orm/)??如果你使用maven,可能会有更新的版本,但是如果你通过他们的网站下载sdk,他们不会给你最新的版本?!?我希望我没有再次走错方向:D.appengine SDK在“lib/opt/user/datanucleus”(v2.1.1 AFAIK)下有可用的东西。我不知道谷歌需要什么才能将默认版本升级到2.x。很明显,您可以从我引用的Maven repo(无论是否使用Maven)中获取JAR(datanucleus appengine,datanucleus XXX),然后手动将其放入SDK中。您能举个例子说明它是如何工作的吗?一个实用的例子?还是这只供内部使用?地图就是地图,没有什么特别的。所以只要看看