Я изо всех сил пытаюсь найти способ эффективно управлять объектами Flex, которые имеют отношения многие ко многим между их счетными частями JPA / Java.
Вот проблема ... представьте себе веб-приложение для просмотра фильмов с двумя сущностями:
@Entity
Class Movie {
List<Viewer> Viewers;
}
@Entity
Class Viewer {
List<Movie> Movies;
}
Обе эти сущности могут существовать независимо друг от друга, и обе имеют отношение 1: M друг с другом.На самом деле отношения не принадлежат ни одной стороне, ни другой.
Внутри приложения есть пользовательские интерфейсы Flex, которые иногда хотят видеть зрителей на основе фильмов, и другие пользовательские интерфейсы, которые хотят видеть фильмы на основе зрителей.
В настоящее время обе коллекции Movies.Viewers
и Viewers.Movies
загружаются в JPA, что прекрасно работает.Проблема в том, что каждый раз, когда я спрашиваю у зрителя список фильмов, все они отправляются по проводам, а затем во Flex я получаю набор объектов Movie, которые (часто не всегда) дублируют те, что у меня уже есть.там.
В лучшем случае это кажется неэффективным и может привести к ошибкам, если с дублирующимися объектами не работать.
В моем реальном приложении у меня есть тонны таких типов отношений по всем очень большим графам объектов..
Мне почти кажется, что лениво загруженные коллекции объектов нужно превратить в активно загруженные коллекции внешних ключей, которые используются для явной загрузки объектов на стороне Flex.Но похоже, что я пишу провайдеру JPA во Flex!Является ли правильный ответ никогда не сохранять состояние в приложении Flex?(Yikes) HELP !!
Обновление:
Я должен добавить, что все мои объекты-значения имеют UID, который создается на стороне сервера, поэтому я мог как-то использоватьчто найти / удалить дубликаты на стороне Flex.Но как?