/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template */ package com.megatim.apifdxweb.dao.ifaces.referentiel; import com.megatim.apifdxweb.model.searchentities.NoeudSearch; import com.megatim.fdxcommons.model.referentiel.Noeud; import com.megatim.fdxcommons.dao.ifaces.abstracts.CustomDAOIfaces; import java.util.Optional; import javax.persistence.EntityManager; import javax.persistence.Query; /** * * @author ASUS */ public interface NoeudDAO extends CustomDAOIfaces { @Override EntityManager getEntityManager(); @Override public default Class getManagedEntityClass() { return (Noeud.class); } @Override public default Noeud getById(String id) { Query query = getEntityManager().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; } }