/* * 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.referentiel.natureproduction; import com.megatim.fdxcommons.dao.ifaces.natureproduction.NatureProductionFichierDAO; import com.megatim.fdxcommons.model.referentiel.natureproduction.NatureProductionFichier; import com.megatim.fdxcommons.model.referentiel.natureproduction.NatureProductionFichierId; 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 NatureProductionFichierDAOImpl implements NatureProductionFichierDAO { @PersistenceContext(unitName = "fdxConsultationPersistenceUnit") protected EntityManager em; @Override public Class getManagedEntityClass() { return NatureProductionFichier.class; } @Override public EntityManager getEntityManager() { return em; } @Override public NatureProductionFichier getById(NatureProductionFichierId id) { Query query = em.createQuery("SELECT n FROM NatureProductionFichier n WHERE n.referentiel.version = :referentielVersion" + " AND n.typeFichier.code = :codeTypeFichier"); query.setParameter("referentielVersion", id.getReferentiel()); query.setParameter("codeTypeFichier", id.getTypeFichier()); Optional optNatureProd = query.getResultList().stream().findFirst(); return optNatureProd.isPresent() ? optNatureProd.get() : null; } }