在App Engine的JDO实现中,对象类型与持久化到数据存储的实体一起保存为'Kind'。当这些实体从数据存储中取回时,它们将作为原始对象类型自动返回(在某个JDO层中)。令我困惑的是,只有班级的简单名字才会被保存;不是完整的路径。那么JVM如何加载正确的类?GAE/JDO如何将实体转换为域对象?
例如,如果我有com.project.domain.User,并且将此类的一个实例保存到数据存储中,则只会为实体类型定义“用户”。当我使用JDO来选择这个数据时,我得到一个com.project.domain.User。 GAE/JDO如何知道加载com.project.domain.User而不是com.project.other.domain.User?
那么这个内部映射如何在JVM启动/关闭之间持久?我还没有定义任何XML或注释。 – Brad 2010-11-12 05:00:48
因为“JDO提供者”是GAE(或者更确切地说是他们的DataNucleus插件),所以GAE参与其中。如果您想解决这个问题,可以通过http://code.google.com/p/datanucleus-appengine/source/browse/trunk/src/org/datanucleus/store/appengine/DatastorePersistenceHandler.java – DataNucleus 2010-11-12 08:20:22