在按照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>();https://stackoverflow.com/questions/50872297
复制相似问题