public List<Master> selectMasterFilteringDetail(String detailDescription) {
StringBuffer jpql = new StringBuffer()
.append("SELECT distinct(master) FROM Master master ")
.append("JOIN FETCH master.details details ")
.append("WHERE master.id in ( select distinct d.masterId from Detail d where d.description=:description) ");
TypedQuery<Master> query = entityManager.createQuery(jpql.toString(),
Master.class);
query.setParameter("description", detailDescription);
return query.getResultList();
}