я использую локальную -версию разработки 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 вместе с его встроенным адресным полем?