package com.github.signed.sandbox.jpa.h2; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; public class JpaDatabase { private DatabaseConnector connector; public JpaDatabase(DatabaseConnector connector) { this.connector = connector; } public void persist(Object entity) { EntityManager entityManager = connector.entityManagerForLocalHsqlDatabase(); EntityTransaction transaction = entityManager.getTransaction(); try { transaction.begin(); entityManager.persist(entity); transaction.commit(); } catch (Throwable throwable) { transaction.rollback(); throw throwable; } finally { entityManager.close(); } } }