在按照https://cloud.google.com/appengine/docs/standard/java/tools/migrate-maven描述的指南将项目迁移到云sdk时,我必须升级一些DataNucleus依赖项,这会导致问题。对于数据持久化的预迁移,DataNucleus不正确地加载单向拥有的onetomany关系。获取关系返回null。数据持久化的方式似乎发生了某种改变。
如果我持久化一个新的实体,一个列将被添加到包含关系信息的表中。获取这些新持久化实体中的一个,将给出正确的结果。
在不迁移数据的情况下可以升级DataNucleus版本吗?是否需要一个特定的注释什么的?
在迁移前使用的Jars:
现在使用的依赖项:
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>3.1.3</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>com.google.appengine.orm</groupId>
<artifactId>datanucleus-appengine</artifactId>
<version>2.1.2</version>
</dependency>
关系代码片段:
@Persistent(defaultFetchGroup="true", dependentElement="true")
@Extension(vendorName="datanucleus", key="comparator-name",
value="be.coco.shared.quantity.Quantity")
private SortedSet<Quantity> quantities = new TreeSet<Quantity>();发布于 2018-06-16 14:51:14
我在谷歌问题追踪器上找到了你的问题。您所观察到的故障很可能与数据核-应用程序引擎的兼容性问题有关。正如“谷歌问题跟踪器”中的答案所述:
(.),建议您按照适当的DataNucleus特定Maven文档进行持续DataNucleus支持。
https://stackoverflow.com/questions/50872297
复制相似问题