/* * 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; import com.megatim.apifdxweb.dao.ifaces.referentiel.NoeudDAO; import com.megatim.fdxcommons.model.referentiel.Noeud; import java.util.Optional; import javax.ejb.Stateless; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; /** * * @author ASUS */ @Stateless public class NoeudDAOImpl implements NoeudDAO { @PersistenceContext(unitName = "fdxPU") protected EntityManager em; public NoeudDAOImpl() { } @Override public EntityManager getEntityManager() { return em; } @Override public Class getManagedEntityClass() { return (Noeud.class); } @Override public Noeud getById(String id) { Query query = em.createQuery("SELECT n from Noeud n" + " LEFT JOIN FETCH n.groupeNoeuds LEFT JOIN FETCH n.routageEnvois LEFT JOIN FETCH n.routageReceptions" + " WHERE n.code = :code"); query.setParameter("code", id); Optional optionalNoeud = query.getResultList().stream().findFirst(); return optionalNoeud.isPresent() ? optionalNoeud.get() : null; } }