19 lines
542 B
Java
19 lines
542 B
Java
|
Session session = sessionFactory.openSession();
|
||
|
Transaction tx = session.beginTransaction();
|
||
|
|
||
|
ScrollableResults customers = session.getNamedQuery("GetCustomers")
|
||
|
.setCacheMode(CacheMode.IGNORE)
|
||
|
.scroll(ScrollMode.FORWARD_ONLY);
|
||
|
int count=0;
|
||
|
while ( customers.next() ) {
|
||
|
Customer customer = (Customer) customers.get(0);
|
||
|
customer.updateStuff(...);
|
||
|
if ( ++count % 20 == 0 ) {
|
||
|
//flush a batch of updates and release memory:
|
||
|
session.flush();
|
||
|
session.clear();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
tx.commit();
|
||
|
session.close();
|