Вы можете использовать пакетную обработку hibernate, как показано ниже.
Установите свойство в файле конфигурации hibernate
hibernate.jdbc.batch_size 20
, а затем используйте, как показано ниже, код
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
for ( int i=0; i<100000; i++ ) {
stock_register_dto dto = new stock_register_dto (....);
session.save(dto);
if ( i % 20 == 0 ) { //20, same as the JDBC batch size
//flush a batch of inserts and release memory the memory
session.flush();
session.clear();
}
}
transaction.commit();
session.close();