package com.zenika.blog.mybatis.impl.jpa; import java.util.ArrayList; import java.util.List; import javax.persistence.EntityManager; import com.zenika.blog.mybatis.Participant; import com.zenika.blog.mybatis.Session; import com.zenika.blog.mybatis.SessionDao; public class HibernateSessionDao implements SessionDao { private EntityManager entityManager; public HibernateSessionDao(EntityManager entityManager) { this.entityManager = entityManager; } @Override public List<Session> findAll() { @SuppressWarnings("unchecked") List<Formation> formations = entityManager.createQuery("from Formation").getResultList(); List<Session> sessions = new ArrayList<>(); for (Formation formation : formations) { Session session = new Session(); session.setIdFormation( formation.getId() ); session.setNomCours( formation.getCours().getNom() ); session.setNomFormateur( formation.getFormateur().getNom() ); for (Stagiaire stagiaire : formation.getStagiaires()) { Participant participant = new Participant(); participant.setId( stagiaire.getId() ); participant.setNom( stagiaire.getNom() ); session.getParticipants().add(participant); } sessions.add(session); } return sessions; } }