如何使用hibernate批量选择数据?

aji*_*ban 4 hibernate batch-processing

我有一个函数,它基本上从表中返回整个数据。我如何实现批量获取,以便一次批量返回 60,000 行数据。

以下逻辑适用于这种情况吗?

http://javainnovations.blogspot.com/2008/07/batch-insertion-in-hibernate.html

Nay*_*kar 5

要批量选择数据,您可以通过设置查询的初始位置和要获取的结果数来应用数据分页。

for(int i=0; i < MAX_SIZE; i = i + BATCH_SIZE){

    List<Object> resultList = entityManager.createQuery(SQL_QUERY).setFirstResult(i).setMaxResults(BATCH_SIZE).getResultList();

    //-- Batch Computation
} 
Run Code Online (Sandbox Code Playgroud)

我提供了示例代码,可以进行相应修改。