gpt4 book ai didi

java - 在 Google App Engine 中重构包含 JDO @PersistenceCapable 类的包

转载 作者:搜寻专家 更新时间:2023-11-01 03:29:53 24 4
gpt4 key购买 nike

我在需要重构的包中有一组具有 JDO 持久性的类。

我知道如果您更改了类名,那么您需要更新“BigTables”对象。但是,如果我更改 java 对象所属的包,这是否意味着“BigTables”中的数据对象需要以某种方式更新?

即 com.example.test.Person -> com.example.blah.Person

最佳答案

其中的一小部分记录在 Object Fields and Entity Properties 下的官方文档中.以下是重构规则方面的结果:

  • 向您的类添加一个新的可空字段将导致所有现有实体的该字段都为空。
  • 添加新的集合或数组字段将导致所有现有实体的该字段具有空集合或数组。
  • 添加新的不可空字段将导致在您尝试加载现有实体时抛出异常。
  • 删除字段不会导致错误;现有实体将保留旧字段,直到再次加载和保存它们。
  • 更改字段类型将导致 App Engine 尝试将旧值转换为新数据类型;如果转换无效,将抛出异常。一个异常(exception)是数字类型;在这种情况下,值被转换而不是转换,并且溢出不会导致异常。

如果您需要进行无法通过上述简单修改实现的重构,您可能需要使用 App Engine mapreduce library .

关于java - 在 Google App Engine 中重构包含 JDO @PersistenceCapable 类的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3288042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com