@RepositorypublicclassStudyUserDaoImpl {@PersistenceContextprivate EntityManager em;
public List get(String nickName, String courseName) {
StringBuffer hql = new StringBuffer("select su from StudyUser su, User u, StudyCourse sc where u.id = su.userId and su.studyCourseId= sc.id ");
if (!StringUtil.isEmpty(nickName)) {
hql.append(" and u.nickName like '%'||:nickName||'%' ");
}
if (!StringUtil.isEmpty(courseName)) {
hql.append(" and sc.name like '%'||:courseName||'%'");
}
Query query = em.createQuery(hql.toString(), StudyUser.class);
if (!StringUtil.isEmpty(nickName)) {
query.setParameter("nickName", nickName);
}
if (!StringUtil.isEmpty(courseName)) {
query.setParameter("courseName", courseName);
}
return query.getResultList();
}
}