Query query = session.createQuery("SELECT p FROM Profesor p LEFT JOIN FETCH p.correosElectronicos"); List profesores = query.list(); Set profesoresSinDuplicar = new LinkedHashSet(profesores); profesores.clear(); profesores.addAll(profesoresSinDuplicar); for (Profesor profesor : profesores) { System.out.println(profesor.toString()); for (CorreoElectronico correoElectronico : profesor.getCorreosElectronicos()) { System.out.println("\t"+correoElectronico); } }