Просто некоторые исправления кодов в ответе Карточа.
Согласно Пакетная обработка , «операции вставки (), обновления () и удаления (), определенные интерфейсом StatelessSession, считаются прямыми операциями на уровне строки базы данных. Они приводят к немедленному выполнению SQL INSERT, UPDATE или DELETE соответственно. Они имеют различную семантику для операций save (), saveOrUpdate () и delete (), определенных интерфейсом Session. "
Нет больше save (), flush (), clear () для StatelessSession. Код должен быть таким:
StatelessSession session = sessionFactory.openStatelessSession();
Transaction tx = session.beginTransaction();
for ( int i=0; i<100000; i++ ) {
Item item = new Item(.....);
session.insert(item );
}
tx.commit();
session.close();
Наконец, здесь обсуждается разница между обычной пакетной вставкой и вставкой StatelessSession: Использование StatelessSession для пакетной обработки .