/*
|
* 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<Noeud, String, NoeudSearch> {
|
|
@Override
|
EntityManager getEntityManager();
|
|
@Override
|
public default Class<Noeud> 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<Noeud> optionalNoeud = query.getResultList().stream().findFirst();
|
return optionalNoeud.isPresent() ? optionalNoeud.get() : null;
|
}
|
}
|