/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.fdxconsultation.dao.impl.dataproduction.metadata; import com.megatim.fdxcommons.model.dataproduction.metadata.ProductionMetaData; import com.megatim.fdxcommons.model.dataproduction.metadata.ProductionMetaDataId; import com.megatim.fdxconsultation.dao.ifaces.dataproduction.metadata.ProductionMetaDataDAO; import java.util.List; import java.util.Optional; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; /** * * @author ASUS */ @Stateless public class ProductionMetaDataDAOImpl implements ProductionMetaDataDAO { @PersistenceContext(unitName = "fdxConsultationPersistenceUnit") EntityManager em; @Override public Class getManagedEntityClass() { return ProductionMetaData.class; } @Override public EntityManager getEntityManager() { return em; } @Override public ProductionMetaData getById(Long id) { Query query = em.createQuery("SELECT p FROM ProductionMetaData p WHERE p.productionId = :id"); query.setParameter("id", id); Optional optMetaData = query.getResultList().stream().findFirst(); return optMetaData.isPresent() ? optMetaData.get() : null; } @Override public void deleteById(Long dataProductionId) { Query query = em.createQuery("DELETE FROM ProductionMetaData p WHERE p.productionId = :dataProductionId"); query.setParameter("dataProductionId", dataProductionId); query.executeUpdate(); } }