HQL 의 표기 법 이나 매 핑 방법 을 진심으로 알려 주 십시오. 급...

1765 단어 sqlxmlHibernate
현재 나 는 HQL 문 구 를 정상적으로 실행 하고 있 지만 데이터 가 맞지 않 아 조정 해 야 한다.
표준 SQL 은 다음 과 같 습 니 다:
select a.BRANDID,a.PICURL ,a.BRAND_CH ,a.SORT ,count(b.PRODUCTID) as counts
  from BRAND a  left outer join PRODUCT b on a.BRANDID =b.BRANDID and  b.Auditstatus='1'
 where a.STATUSFLAG = 0  group by a.BRANDID, a.PICURL, a.BRAND_CH, a.SORT
 order by a.SORT

조정 전 코드:

   StringBuffer sql = new StringBuffer();
   sql.append("select new com.kmi.terminal.memory.model.view.ViewBrand(a.brandid,");
   sql.append("a.picurl,a.brandCh,a.sort,count(b.productid)) from ").append(TABLE_NAME);
   sql.append(" a left join a.products b ");
   sql.append(" where a.statusflag=0 ");
   sql.append(" group by a.brandid,a.picurl,a.brandCh,a.sort order by a.sort");
 

조 정 된 코드:

StringBuffer sql = new StringBuffer();
sql.append("select new com.kmi.terminal.memory.model.view.ViewBrand(a.brandid,");
sql.append("a.picurl,a.brandCh,a.sort,count(b.productid)) from ").append(TABLE_NAME);
sql.append(" a left join a.products b ");
sql.append(" and b.auditstatus='1' where a.statusflag=0 ");
sql.append(" group by a.brandid,a.picurl,a.brandCh,a.sort order by a.sort");

구체 적 인 변 화 는 이 줄 에 있다.
sql.append(" and b.auditstatus='1' where a.statusflag=0 ");

나 는 원래 Hibernate 가 해석 한 후에 where 앞의 and 조건 을 자동 으로 더 하려 고 했 는데, 결 과 는 확실히 상상 하 는 방향 으로 발전 하지 않 았 다.
표준 SQL 과 같은 효 과 를 가 진 HQL 을 어떻게 쓰 거나 *. hbm. xml 에서 어떻게 수정 해 야 하 는 지 알려 주 십시오.

좋은 웹페이지 즐겨찾기