powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / BatchSize в JPA
2 сообщений из 2, страница 1 из 1
BatchSize в JPA
    #38055550
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясните пожалуйста как работает BatchSize
Посмотрел пример например вот этот
http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/

Что-то я не могу понять насчет @BatchSize(size = 10)

Например в том же примере - есть Stock который содержит коллекцию Record


Код: java
1.
2.
3.
4.
class Stock
{
   List<Record> records
}



Если мы не устанавливаем BatchSize, то есть по умолчанию если он установлен в 1 :
Считываем все Stock и потом из каждого Stock считываем records


Код: java
1.
2.
3.
4.
5.
6.
7.
List<Stock> stocksList = session.createQuery("from Stock").list();

for(Stock stock : stocksList)
{
   List<Record> records = stock.getRecords();
   print("records for stock n " + stok.getId + " -> " + records;
}


Код: java
1.
2.
3.
4.
5.
6.
7.
select ...  from stock stock0_


select ...  from record where stock.ID=?


select ...  from record where stock.ID=?




Все логично - для каждого Stock считываем список records.

Теперь если ставим BatchSize например в 10, то при таком же коде должен получится запрос типа


Код: java
1.
2.
3.
4.
5.
6.
select ... from stock stock0_


select ... from record  where

       stock.ID in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)




Но такой select даст сразу выборку для ВСЕХ 10 stock id!
Как же мы сможем выделить из такой выборки records для stock.id = 1 отдельно от списка records для stock.id = 2 и тд?
У нас будет выборка для всех stock.id - от 1 до 10.
В чем тут прикол?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
BatchSize в JPA
    #38770934
diesel_den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я не ошибаюсь, BatchSize - это родная аннотация в Hibernate и для неё в JPA аналога нет. Да, думаю можно использовать родную аннотацию даже в JPA, при условии JPA-провайдером является Hibernate.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / BatchSize в JPA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]