2 열이 있습니다. 이름 : 이름, 성 검색 값이 search입니다. 예를 들어 fullname을 검색 할 수 있기를 바랍니다. john doe. (공간과 함께). 지금까지 나는 존이나 도우를 타이핑하여 이름이나 성으로 만 작업했습니다.최대 절전 값 (또는 그 일부)을 2 열로 비교
이 내가 전체 이름에 대해 뭘하려 :
Criterion fullname = Restrictions.and(Restrictions.like("name", search).ignoreCase(),
Restrictions.like("surname", search).ignoreCase());
전체 부분 :
Private List<Users> getSearch(String search) {
List<Users> users = new ArrayList<Users>();
Session dbSession = HibernateUtil.getSessionFactory().getCurrentSession();
try {
Transaction tx = dbSession.beginTransaction();
Criteria cr = dbSession.createCriteria(Users.class);
Criterion name = Restrictions.or(Restrictions.like("name", search).ignoreCase(),
Restrictions.like("surname", search).ignoreCase());
Criterion fullname = Restrictions.and(Restrictions.like("name", search).ignoreCase(),
Restrictions.like("surname", search).ignoreCase());
Disjunction disjunction = Restrictions.disjunction();
disjunction.add(name);
disjunction.add(fullname);
cr.add(disjunction);
users = (List<Users>) cr.list();
tx.commit();
} catch (HibernateException he) {
}
return users;
}
전체 조건 코드를 공유해주십시오. –
명확히하기 : 사용자가 "John D", "John", "Doe"를 입력 할 때 동일한 "John Doe"를 검색하고 찾을 수있게 하시겠습니까? 공백이 아닌 다른 것으로 이름 부분을 분리 할 수 있습니까? – mabi
이제는 존 또는 미상을 입력하여 사용자를 찾을 수 있습니다. 사용자가 존 도우를 입력하여 사용자를 찾을 수 있기를 바랍니다. 공백 만 있으면 안됩니다. – DaViDa