Я использую Objectify в AppEngine от Google. У меня есть следующий Entity-модель:Objectify: Фильтровать по атрибуту записей коллекции?
@Entity
public class ChallengeEntity {
@Id
private Long id;
@Index
public List<ChallengeParticipant> participants;
}
участника (не сущность ... она должна быть одна?)
public class ChallengeParticipant {
@Load
public Ref<UserEntity> user;
// ... participant-specific attributes
}
И User-Entity:
@Entity
public class UserEntity {
@Id
Long id;
@Index
public String email = "";
}
Теперь, как бы я нашел все проблемы для данного пользователя-электронной почты? Что-то вдоль:
ofy().load().type(ChallengeEntity.class).filter("participants.user.email", "[email protected]")
Я готов адаптировать свою сущность-модель для нужд GAE в ... как я могу поддерживать этот запрос эффективно и сохранить хорошую модель?
Большое спасибо
Благодарим за упоминание «@ Index» пользователя, а не участников ... но почему? – hotzen
'@ Index' в коллекции означает« индексировать все поля каждого элемента в этой коллекции ». Вы хотите только проиндексировать одно поле. – stickfigure