I did not try it with the Embedded class, but my Maps inside JDO objects needed additional FetchGroup annotations in the containing class ...
@SuppressWarnings("serial
")
@PersistenceCapable(identityType=IdentityType.APPLICATION, detachable="true")
@FetchGroup(name="QueryAggregationJobJDO", members={
@Persistent(name="appName", recursionDepth=-1),
etc....
public class QueryAggregationJobJDO extends AggregationJobJDO implements SystemObject {
@Persistent(serialized="true") // this is string of app names and a count for each name found
public Map< String, Long > appName = new HashMap<String, Long>();
getFetchPlan() DataManager...
@Override
public boolean open() {
DataAreaManager dataAreaManager = new DataAreaManager();
dataAreaManager.setDataArea(VERSION_DATA_AREA);
if ((pm == null) || (pm.isClosed())) {
pm = PMF.get(type).getPersistenceManager();
pm.getFetchPlan().addGroup("TouchActiveUserJDO");
pm.getFetchPlan().addGroup("UserRoleJDO");
pm.getFetchPlan().addGroup("QueryAggregationJobJDO");