/* * 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; import com.megatim.fdxcommons.model.referentiel.GroupeParticipant; import com.megatim.fdxconsultation.dao.ifaces.referentiel.GroupeParticipantDAO; 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 GroupeParticipantDAOImpl implements GroupeParticipantDAO { @PersistenceContext(unitName = "fdxConsultationPersistenceUnit") protected EntityManager em; public GroupeParticipantDAOImpl() { } @Override public EntityManager getEntityManager() { return em; } @Override public Class getManagedEntityClass() { return (GroupeParticipant.class); } @Override public GroupeParticipant getById(String id) { Query query = em.createQuery("SELECT gp FROM GroupeParticipant gp" + " LEFT JOIN FETCH gp.participants LEFT JOIN FETCH gp.routageEnvois LEFT JOIN FETCH gp.routageReceptions" + " WHERE gp.code = :code"); query.setParameter("code", id); Optional optionalGroupeParticipant = query.getResultList().stream().findFirst(); if (optionalGroupeParticipant.isPresent()) { return optionalGroupeParticipant.get(); } else { return null; } } }