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