Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EntityContext, как получить getEnvironment() 
:(
    Опции темы
ekr
Дата 19.7.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 12
Всего: 19



Цитата(AlexeyVorotnikov @  19.7.2007,  08:40 Найти цитируемый пост)
А для чего они? 

Основная задача любого orm-решения - абстрагировать бизнес-логику от деталей underlying storage. 
И использование orm - не всегда самый производительный путь. Если нужна скорость - следует юзать низкоуровневый jdbc + хранимые процедуры )))
Альтернативные orm-решения в некоторых случаях так же не блещут скоростью (посмотрите на поддержку Hibernate-ом вызова хранимых процедур и batch-update-ов).

Для объективности следует отметить, что в случае entity-бинов можно правильным их использованием производительность очень сильно повысить:
  • для bmp можно прикрутить prepared- и callable-стейтменты
  • в случае cmp контейнер сам максимально оптимизирует underlying jdbc-вызовы 
  • следует использовать session facade с тем, чтобы изменение нескольких свойств нескольких entity-бинов проходило в рамках одной транзакции, что сильно сэкономитколичество синхронизаций с базой
  • для cmp контейнер оптимизирует jdbc-вызовы в случае relations
  • для любых типов entity очень важно правильно настроить размеры пула и кеша
и это далеко не полный список )))


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
AlexeyVorotnikov
Дата 19.7.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 18.6.2007
Где: Москва

Репутация: 3
Всего: 18



 smile Я извиняюсь, с EJB я не очень знаком... Entity-bean'ы обязательно должны быть persistent? И если да, то обязательно ли в БД?


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
chief39
Дата 19.7.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Цитата(Rusico @  18.7.2007,  10:26 Найти цитируемый пост)
Я пошёл другим путём - использую удалённые интерфейсы - всё работает, но на поиск компонента (получение домашнего интерфейса) 
уходит много времени. Компонентов может быть очень много, и каждый раз осуществлять поиск накладно. 

Сервис локатор

Проблема не в еджиби, проблема в том, что данные хранятся в разных машинах(разные физически, разные СУБД, разные JVM - неважно), данные скрепляются из разных сущностей на верхнем уровне. Работа по совмещению двух сущностей - это типичная задача СУБД, которая для этого заточена. Если сделать два локальных CMR бина - они оттранслируют выборки в один СКЛ-запрос - всё быстро.
Если разнести их - тут уж ничего не поделать. Лепить в кучу их будет не СУБД, а логика верхнего уровня после перекачки по сети(в любом случае). Тут уж точно медленно.

Если задача стоит так, что бины должны быть по разным серверам - тогда стоит минимизировать обмен. Если нет - свести вместе.
Если один из бинов - а-ля словарь данных, тогда стоит паковать данные покрупнее, отдавать пользовательскому бину(бинам) и кешировать их там. Ессно, речь о value objects.




--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
ekr
Дата 19.7.2007, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 12
Всего: 19



Цитата(AlexeyVorotnikov @  19.7.2007,  11:41 Найти цитируемый пост)
Entity-bean'ы обязательно должны быть persistent?

да

Цитата(AlexeyVorotnikov @  19.7.2007,  11:41 Найти цитируемый пост)
И если да, то обязательно ли в БД?

необязательно.
в случае bmp разработчик сам пишет логику персистенции (в любой источник).
в случае cmp логику персистенции пишет контейнер на базе информации из дескриптора. контейнеры поддерживают генерацию кода для БД, насчет других источников - не встречал.


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.3512 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.