Я пытаюсь получить список по ссылке.Objectify Ref в подклассе
Мои классы как:
- Лицензия выполнения на Демона,
- Лицензия может представлять собой LicenseCountryCondition или другой подкласс с Ref (для LicenseCountryCondition, параметр является реф из страны) ,
Лицензия:
@Entity
@Cache
@Index
public class License {
@Id
Long id;
private String name;
private String startDate;
private String expDate;
private int timeStamp;
private int status;
Ref<Daemon> daemon;
private boolean inactive;
}
LicenseCountryCondition:
@Index
@Subclass(index=true)
public class LicenseCountryCondition extends License{
Ref<Country> country;
}
Если я хочу, чтобы найти перечень LicenseCountryCondition, работающий на конкретного Daemon, я это:
Daemon dae=ofy().load().type(Daemon.class).filter("name", "example").first().now();
List<LicenseCountryCondition>test=ofy().load().type(LicenseCountryCondition.class).filter("daemon",dae).list();
for(LicenseCountryCondition i:test){
System.out.println(i.getName());
System.out.println(i.getDaemon().getName());
}
И у меня хорошие результаты.
Но, когда я пытаюсь получить список LicenseCountryCondition работает на конкретной стране, он не работает:
Country ctr=ofy().load().type(Country.class).filter("name", "France").first().now();
List<LicenseCountryCondition> test=ofy().load().type(LicenseCountryCondition.class).filter("country",ctr).list();
for(LicenseCountryCondition i:test){
System.out.println(i.getName());
}
Могу ли я получить этот список? (Я видел this, но это не проблема)
Спасибо за внимание.
Спасибо за ваш ответ. Я не знаю, почему, но когда я пробовал это утро, это сработало. Я только видел, что два из моих LicenceCountryCondition по-прежнему не были проиндексированы, я думаю, что вчера я работал с ними только вчера. – Pauline
Возможно ли, что вы сохранили значение unindexed, а затем добавили аннотация @Index позже? Аннотации контролируют, будет ли свойство индексироваться при сохранении; если вы добавите аннотацию, вы должны сохранить любые соответствующие объекты. – stickfigure
Да, теперь я понял свою ошибку. Я думал, что из-за супер, мне не нужно было добавлять @index в мой подкласс, но теперь я понимаю, что это было глупо, потому что у меня есть параметры в моих подклассах, что нужно индексировать ... И я ' m, работая над тестовыми данными, поэтому я повторно создаю данные после понимания проблемы. Спасибо за внимание =) – Pauline