Извлечение значений отдельных столбцов вместо сущностей в Hibernate Pagination - PullRequest
0 голосов
/ 23 октября 2018

Технологический стек:

Пружина 4

Hibernate 3

Угловой 2

Я работаю над приложением, которое требуетнумерацией страниц.Данные будут отображаться в таблице, и данные в основном read only Мы не собираемся изменять данные.

Мой вопрос:

Я прочитал много статей о разбиении на страницы, и все советуют использовать HQL и получать сущности.

Но, если мои данные ТОЛЬКО ЧИТАЮ, зачем мне нужно извлекать сущности и создавать дополнительные издержки?Hibernate должен будет управлять этими объектами.

Я получу только необходимые значения столбцов и покажу их в таблице.На каждой границе страницы будет происходить обратное обращение к базе данных (поскольку кэширование не будет выполняться), но в любом случае это должно произойти, если мы не используем механизм уровня кэширования в hibernate.

Даже если мы используем кеширование, объем работы, необходимой для управления кешем и записями в нем, определенно больше, чем просто выбор требуемых значений столбцов.

Разве это не лучший дизайн?Пожалуйста посоветуй.

1 Ответ

0 голосов
/ 23 октября 2018

Это субъективный вопрос, но я придерживаюсь общего правила:

  • Запросы с помощью DELETION / UPDATE / INSERTION => извлекают объекты как тривиальные для управления состоянием, и вы получаете преимущество оптимистической блокировкиМеханизм поверх этого.
  • Просто запрос => разбиение на страницы с использованием классов результатов, что означает, что вы получите готовый объект DTO в результате запроса.
...