Тестове завдання. Читання великого (1 Gb) XML файлу та запис в БД, з використанням ORM.

Використано: StAX + JAXB, JPA (Hibernate), INSERT batch processing, Gradle, MySQL/PostgreSQL.

StAX використано для послідовного читання, оскільки завантажувати великий файл в пам'ять не еффективно. Також використано batch processing для підвищення швидкодії запису в БД.

Я помилково вирішив що batch processing на Hibernate/MySQL чомусь не працює (Hibernate показує в своїх logs тільки окремі INSERTs), тож додатково використав PostgreSQL щоб перевірити це.

Time spent: 14.6 h

plus

additional time spent on batch procession details and PostgreSQL: 5.3h

Notes: