/* * 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; import com.megatim.fdxconsultation.dao.ifaces.dataproduction.DataProductionDAO; import com.megatim.fdxcommons.model.enumeration.StatutDataProduction; import com.megatim.fdxconsultation.model.dataproduction.DataProduction; 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 DataProductionDAOImpl implements DataProductionDAO { @PersistenceContext(unitName = "fdxConsultationPersistenceUnit") EntityManager em; @Override public Class getManagedEntityClass() { return DataProduction.class; } @Override public EntityManager getEntityManager() { return em; } @Override public DataProduction getById(Long id) { Query query = em.createQuery("SELECT d from DataProduction d" + " WHERE d.id = :id"); query.setParameter("id", id); Optional optDataProduction = query.getResultList().stream().findFirst(); return optDataProduction.isPresent() ? optDataProduction.get() : null; } @Override public List findByStatutDataProduction(StatutDataProduction statut) { return em .createQuery("SELECT d from DataProduction d WHERE d.statutDataProduction = :statut ORDER BY id") .setParameter("statut", statut).getResultList(); } }