/** * Copyright (C) Intersect 2012. * * This module contains Proprietary Information of Intersect, * and should be treated as Confidential. */ package au.org.intersect.exsite9.dao; import javax.persistence.EntityManager; import au.org.intersect.exsite9.domain.MetadataAssociation; /** * Data Access Object for {@link MetadataAssociation} instances */ public final class MetadataAssociationDAO { private EntityManager em; public MetadataAssociationDAO(final EntityManager em) { this.em = em; } public void createMetadataAssociation(final MetadataAssociation metadataAssociation) { em.getTransaction().begin(); em.persist(metadataAssociation); em.getTransaction().commit(); } public void updateMetadataAssociation(final MetadataAssociation metadataAssociation) { em.getTransaction().begin(); em.merge(metadataAssociation); em.getTransaction().commit(); } public void removeMetadataAssociation(final MetadataAssociation metadataAssociation) { final boolean transactionActive = em.getTransaction().isActive(); if (!transactionActive){em.getTransaction().begin();} em.remove(em.merge(metadataAssociation)); if (!transactionActive){em.getTransaction().commit();} } }