我在需要重构的包中有一组支持JDO持久性的类。
我知道如果更改类名,则需要更新“BigTables”对象。但是,如果我更改java对象所属的包,这是否意味着“BigTables”中的数据对象需要以某种方式更新?
即com.example.test.Person - > com.example.blah.Person
答案 0 :(得分:1)
Object Fields and Entity Properties下的官方文档中记录了一些这方面的内容。以下是重构规则的结果:
如果您需要进行如上所述的简单修改无法实现的重构,您可能希望使用App Engine mapreduce library。
答案 1 :(得分:1)
我假设情况是这样的:
我有一个类“com.peter.Foo”,我一直坚持使用JDO,我想将其更改为“com.nick.Foo”,我所有现有的Foo实体是否需要更新?换句话说,在将java类映射到数据存储区Kind时,JDO是否使用包名?
AFAIK,appengine中的JDO工具只使用类名。这是因为当我查看管理控制台时,数据查看器和数据存储区统计信息仅通过类名称引用我的实体。因此,如果您保持您的类名相同并且只更改包名称,那么您的实体应该没问题。