/* * 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.apifdxweb.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.List; import java.util.Optional; import javax.enterprise.context.Dependent; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; /** * * @author ASUS */ @Dependent public class NatureProductionFichierDAOImpl implements NatureProductionFichierDAO { @PersistenceContext(unitName = "fdxPU") 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; } @Override public List getByReferentiel(String referentielVersion) { Query query = em.createQuery("SELECT n from NatureProductionFichier n where n.referentiel.version = :referentielVersion"); query.setParameter("referentielVersion", referentielVersion); return query.getResultList(); } }