/*
|
* 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.GroupeNoeudDAO;
|
import com.megatim.fdxcommons.model.referentiel.GroupeNoeud;
|
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 GroupeNoeudDAOImpl implements GroupeNoeudDAO {
|
|
@PersistenceContext(unitName = "fdxPU")
|
protected EntityManager em;
|
|
public GroupeNoeudDAOImpl() {
|
}
|
|
@Override
|
public EntityManager getEntityManager() {
|
return em;
|
}
|
|
@Override
|
public Class<GroupeNoeud> 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 = :id");
|
query.setParameter("id", id);
|
|
Optional<GroupeNoeud> optionalGroupeNoeud = query.getResultList().stream().findFirst();
|
|
if (optionalGroupeNoeud.isPresent()) {
|
return optionalGroupeNoeud.get();
|
} else {
|
return null;
|
}
|
}
|
|
}
|