Методы поиска сущностных бинов VS DAO? - PullRequest
0 голосов
/ 29 января 2010

Будет ли улучшение производительности, если я удалю объектный компонент (методы поиска) и вместо этого введу слой DAO. Я хочу сделать это в основном для чтения данных из БД. У меня есть процесс в моем проекте, который включает в себя около 15 вызовов компонентов поиска компонентов в потоке, поэтому, если я удалю компоненты Entity или введу DAO и оставлю компоненты EJB такими, какие они есть, будет ли существенное улучшение производительности? Я использую EJB 2.1.

1 Ответ

1 голос
/ 29 января 2010

Извлечение данных с использованием искателей Entity Bean загружает все атрибуты для сущности, даже если вам может потребоваться только значение одного из них для выполняемой задачи. Так что, действительно, методы EJB-поиска имеют накладные расходы, и это особенно верно при извлечении больших наборов данных (даже не говоря о том, когда вы вызываете 15 из них).

Таким образом, для извлечения больших наборов данных только для чтения действительно может быть предпочтительнее общаться с базой данных напрямую из Session Bean (я полагаю, у вас есть фасад Session Bean) с использованием JDBC API. Этот шаблон известен как Fast Lane Reader , если я хорошо помню.

Просто имейте в виду, что реализации этого шаблона приносят в жертву непротиворечивость данных для производительности, поскольку запросы, выполняемые на уровне необработанного JDBC, "не видят" ожидающих изменений, внесенных в бизнес-информацию, представленную корпоративными компонентами.

...