![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Интересует best practices по сабжу. Кто как делает?
Вкратце суть вопроса: Классы сущностей имеют взаимосвязи между собой и в некоторых случаях проход по прямым ссылкам может охватывать значительный объём информации. В Hibernate, например, проблема решается просто - данные извлекаются тогда, когда понадобятся. Для этого в рантайме классы сущностей могут быть заменены на прокси-классы для перехвата вызовов методов, используемых для получения связанных сущностей и т. д. Вопрос: Каким образом организовать передачу информации, содержащуюся в объектах классов сущностей на клиентскую сторону GWT с помощью GWT-RPC, чтобы избежать "глубокой" сериализации, и, самое главное, SerializationException при попытках сериализации Hibernate'овских проксей? |
|||
|
||||
intr |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 18.12.2005 Репутация: 2 Всего: 2 |
Может быть стоит взглянуть на эту штуку - http://noon.gilead.free.fr/gilead/
--------------------
Исследователь бытия и по совместительству Java-developer |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Ага, спасибо. Покопаю. |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
А если на клиенте поток, перерисовывающий экран (в свинге это EventDispatchThread) обращается к ссылке, которая не инициализирована ("lazy" инициализация), то, очевидно, должен быть запрос по сети на доставку недостающих данных. Поток ждет ответа сервера? GUI замораживается?
|
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Нет. GWT, как и большинство AJAX приложений для доступа к серверу использует асинхронные вызовы XMLHttpRequest |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Понятно. Спасибо. Если позволите, еще вопрос. Типичная форма представления данных - таблица. Показали первые 10 строк. Пользователь сделал покрутку. Надо загрузить и показать следующие 5 строк. Очевидно, что предпочтительнее послать один запрос (а не 5) и по получении всех данных дать одну команду (а не 5) на перерисовку. Проработаны ли в Hibernate / GWT такие ситуации? Или это искусство программиста?
Это сообщение отредактировал(а) COVD - 29.4.2009, 03:45 |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Строго говоря, Hibernate тут не к месту упомянут, разве только если иметь ввиду возможность выборки данных, ограниченной некоторым диапазоном строк. В Hibernate такая возможность имеется, однако эффективность реализации этой фичи зависит от СУБД/драйвера. Что же касается GWT, то его основная фича - это возможность реализовать браузерный JavaScript код на языке Java. Работа с элементами UI напоминает swing, но по сути, все операции по изменению UI сводятся к добавлению/удалению/изменению кодом JavaScript узлов в DOM Tree. Никаких paint()'ов там нет. Я не совсем понял вопрос, но думаю что если бы речь шла об удалённом awt/swing клиенте, то ответ, о том проработано или нет, был бы таким же. В расширениях GWT есть готовые UI компоненты, позволяющие организовать постраничный просмотр, а вот с прокруткой не помню, может и есть.
совершенно не очевидно, если не знать конкретные цифры о кол-ве строк. Поэтому, видимо, всё таки, ответ будет: PS: оффтопим ![]() |
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Спасибо
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |