1
나는 10 개의 필드를 가지고 있으며 결과를 얻기 위해 약 5에서 6 개의 테이블을 포함하는 검색 화면을 가지고있다. 나는 사용자 지정 SQL 쿼리를 작성하고 값이 존재하는 경우에만 조건을 추가합니다.검색 화면에 대한 최대 절전 모드 사용자 정의 검색어
누구나 제안 할 수있는 방법이 올바른 방법인지 아니면 다른 방법이 좋을까요?
내 상황에 맞는 플러그인이나 추가 API를 사용할 수 없습니다.
StringBuffer sqlQuery = new StringBuffer();
sqlQuery.append (" select member.* from member, customer, case where customer.status='A');
if(firstName != null)
sqlQuery.append("customer.firstName= :firstName");
if(caseid != null)
sqlQuery.append("case.caseid =:caseid");
SQLQuery queryObj = createSQLquery(sqlQuery.toString());
queryObj.list();
은 부재, 고객, 케이스로 실제 테이블 곳이다.
UPDATE
내가 추가하고 위치를 문자열 버퍼에 미리
if(caseid != null)
sqlQuery.append(" and case.caseid =:caseid");
and when queryObj is formed I am doing it as
if(caseid != null)
queryObj.setString("caseid", caseid);
is there better way to add after queryObj (to combine both)?
덕분 상태.
기준을 사용하여 5 개 이상의 테이블이 있다고 말했기 때문에 나는 서로를 참조하는 방법을 모른다. 그리고 내가 언급하면, 그들 중 일부는 일대 다, 다 대다, 많거나 많습니다. 나는 HQL을 사용하고 있는데, 다시 질문을 편집했다. 확인해보고 알려줘. 감사합니다 – changeme
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#querycriteria-associations. 나는 문서에 링크하는 것 이상의 것을 할 수 없다. 그것을 읽고, 이해하고, 실험 해보십시오. 3 분 안에 기준 마법사가 될 수 없습니다. 문제가 있다면 정확하게하려는 것을 설명하는 질문을 게시하고 관련된 코드와 관련된 엔티티의 매핑에 참여하십시오. –
업데이트를 한 번보고 조금 더 자세히 도와 주시겠습니까? – changeme