Первый пост здесь ...
Я обычно разрабатываю с использованием PHP и Symfony с Propel и ActionScript 3 (Flex 3), используя службы AMF. В эти выходные я пробую свои силы в создании приложения BlazeDS с использованием Java и Hibernate , и я начинаю очень любить Java !!!
После некоторых исследований в эти выходные и использования плагина Hibernate Synchronizer для Eclipse создание классов, сопоставляемых (извините моя терминология) с таблицами, кажется довольно простым, я быстро приближаюсь к пониманию этих аспектов. *
Однако я хочу знать, как разработать более полную архитектуру для моей базы данных, в частности, с точки зрения запросов, их результатов и их итерации. Позвольте мне прояснить:
Если у меня есть, например, таблица авторы , я буду создавать класс Author , который сопоставляется с таблицей, с геттерами и сеттерами и т. Д. Эта часть выглядит довольно стандартной с точки зрения Hibernate.
Более того, мне, вероятно, понадобится класс Peer (как в Propel for PHP), например, для выполнения запросов, которые будут возвращать списки / массивы, содержащие экземпляры Author.
Итак, я бы имел (говоря в исправлении) следующие классы:
Автор
- представляет один ряд с геттерами и сеттерами.
AuthorsPeer
- имеет, например, такие функции, как AuthorsPeer :: getAuthorsByCountry ('USA'); или
- AuthorsPeer :: getRetiredAuthors (); или AuthorsPeer :: getAuthorsWithSwineFlu ();
- ... получить картину. :)
- которые возвращают AuthorsList в качестве результата ... см. следующий пункт.
AuthorsList
- коллекция / список Author с функциями для итерации getNext () , getPrevious () и т. д.
Это так, как должно быть в Hibernate, или я скучаю по сюжету? Заметил ли я здесь «Шаблон проектирования» и не заметил его? Нужно ли иметь что-то вроде AuthorsList или Hibernate предоставляет универсальное решение? В общем, что является нормой при работе с этими аспектами.
Кроме того, если у меня есть таблица книг, они связаны с авторами, если я позвоню сказать
Author myAuthor = Авторы :: getAuthor (primaryId, includeBooks);
может ли Hibernate иметь дело с возвращением мне результата, который я могу использовать следующим образом:
String title = myAuthor.books [0] .title;
Я спрашиваю, приводят ли запросы к авторам, относящимся к таблице книг, Hibernate, возвращающий авторов с их книгами, вложенными в «объект-значение» авторов, готовый для меня, чтобы наброситься с некоторой итерацией?
Заранее спасибо!