2011-10-18 2 views
1

DB2의 ROW_NUMBER()를 사용할 때 Hibernate에 문제가있다. QueryException : undefined alias : ROW_NUMBER이다. 무엇을해야합니까? 감사합니다Hibernate DB2 ROW_NUMBER() 에러

String strQuery= " SELECT c_.name, c_.id, c_.description, ROW_NUMBER() OVER(ORDER BY  
        c_.name) AS rownum FROM Category as c_ "; 
Query query = getHibernateTemplate().getSessionFactory(). 
getCurrentSession().createQuery(strQuery); 
+0

최대 절전 모드에서 전화를 걸 때 어떻게 사용하고 있습니까? 데이터베이스간에 이러한 종류의 불일치가 발생하지 않도록 코드 – allthenutsandbolts

+0

을 붙여주십시오. hibernate dialects.http : //www.javabeat.net/qna/163-list-of-hibernate-sql-dialects/ 구체적인 사용법에 대해서는 정확히 알고 싶습니다. 당신이하려는 일. 예를 들어, 페이지 네이션에 rownumber를 사용하려는 경우 특정 방법이 있습니다. – jambriz

답변

0

은 DB2에서 유효한 기능이 아니지만 SQL Server에 있습니다. rownumber() 기능을 원합니다. 다음과 같이 쿼리를 변경하면 작동합니다.

String strQuery= " SELECT c_.name, c_.id, c_.description, rownumber() OVER(ORDER BY  
       c_.name) AS rownum FROM Category as c_ "; 
+1

잘못된, ROW_NUMBER()는 DB2의 함수입니다. http://www.ibm.com/developerworks/data/library/techarticle/dm- 0401kuznetsov/index.html – Samara