Встроенное поле JDO не извлекается по запросу

я использую локальную -версию разработки JDO для App Engine. Когда я запрашиваю объект, который содержит другие объекты в качестве встроенных полей, встроенные поля возвращаются как пустые.

Например, скажем, это основной объект, который я сохраняю:

@PersistenceCapable
public class Branch {

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

    @Persistent
    private String name;

    @Persistent
    private Address address;

           ...
}

и это мой встроенный объект:

@PersistenceCapable(embeddedOnly="true")
public class Address {

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

    @Persistent
    private String street;

    @Persistent
    private String city;

           ...
}

следующий код не извлекает встроенный объект:

    PersistenceManager pm = MyPersistenceManagerFactory.get().getPersistenceManager();

    Branch branch = null;
    try {
        branch = pm.getObjectById(Branch.class, branchId);
    }
    catch (JDOObjectNotFoundException onfe) {
        // not found
    }
    catch (Exception e) {
        // failed
    }
    finally {
        pm.close();
    }

Есть ли у кого-нибудь решение для этого? Как я могу получить объект Branch вместе с его встроенным адресным полем?

5
задан DataNucleus 8 May 2012 в 08:09
поделиться