/*
|
* 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<NatureProductionFichier> 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<NatureProductionFichier> optNatureProd = query.getResultList().stream().findFirst();
|
|
return optNatureProd.isPresent() ? optNatureProd.get() : null;
|
}
|
|
}
|