Я сталкиваюсь с пустым результатом при использовании дочернего объекта запроса.JDO Query Collection дочернего объекта
Мой дочерний объект список пользовательских объектов, как показано ниже:
Родитель
@PersistenceCapable
@Inheritance(customStrategy = "complete-table")
public class TimesheetRecordDaily{
...
@Persistent(embeddedElement = "true", serialized = "true", defaultFetchGroup="true")
@Element(embedded="true")
private List<TimesheetRecordDailyDetailDTO> timesheetRecordDailyDetails;
...
}
Детский
@PersistenceCapable
@EmbeddedOnly
public class TimesheetRecordDailyDetailDTO{
...
@Persistent
private String projectName;
...
}
Запрос:
Query query = pm.newQuery(TimesheetRecordDaily.class);
query.setFilter("this.timesheetRecordDailyDetails.contains(prd) && prd.projectName == 'MyProject'");
query.declareVariables(TimesheetRecordDailyDetailDTO.class.getName() + " prd");
List results = (List)query.execute();
Если я изменю фильтр запроса a s ниже (без запроса детского имущества значение, результат возвращается
query.setFilter("this.timesheetRecordDailyDetails.contains(prd)");
Любая помощь? Разве это проблема JDO в GAE для запроса значения дочернего объекта?
Примечание: GAE версия я использую 1.8.2