programing

동면.최대 절전 모드 버전을 4.2.0으로 업그레이드하면 INTEGER를 사용할 수 없습니다.CR1

minimums 2023. 7. 12. 23:39
반응형

동면.최대 절전 모드 버전을 4.2.0으로 업그레이드하면 INTEGER를 사용할 수 없습니다.CR1

Hibernate를 3.2.5에서 4.2.0으로 방금 업그레이드했습니다.CR1. DAO 클래스에서 다음과 같은 방법을 사용하여 Oracle 10g에서 현재 행 번호를 찾습니다.createSQLQuery()방법.

SELECT row_num
FROM   (SELECT row_number()
                 OVER (
                   ORDER BY banner_id DESC) AS row_num,
               banner_id
        FROM   banner_images
        ORDER  BY banner_id DESC)
WHERE  banner_id = :id
@Override
@SuppressWarnings("unchecked")    
public int getCurrentRow(String id, int rowsPerPage)
{        
    return (Integer) sessionFactory
                    .getCurrentSession()
                    .createSQLQuery("Above query")
                    .addScalar("row_num", Hibernate.INTEGER)  //<------- ???
                    .setParameter("id", Long.parseLong(id))
                    .uniqueResult();
}

.addScalar("row_num", Hibernate.INTEGER)위의 코드 스니펫에 표시된 메소드는 컴파일 시간 오류를 발생시킵니다.

cannot find symbol
symbol:   variable INTEGER
location: class Hibernate

에서 사용할 수 없습니다.org.hibernate.Hibernateclass. 제가 사용하고 있는 NetBeans IDE는 7.2.1은 그러한 상수를 나열하지 않습니다.구글 검색으로는 실제 해결책을 찾을 수 없었습니다.그렇다면 이 버전의 Hibernate(4.2.0.CR1)의 대안은 무엇일까요?

이 히네르나테.정수는 3.6.x 이후로 사용되지 않습니다.

사용해야 합니다.IntegerType.INSTANCE대신.

이전 버전의 Hibernate를 사용하지만 3.5.x 이하에서는 사용되지 않는 값을 사용하지 않으려면 다음을 사용해야 합니다.new IntegerType()왜냐면IntegerType.INSTANCE3.6 이전에는 존재하지 않습니다.

수행:

  • org.certificate.type을 가져옵니다.표준 기본 유형
  • 최대 절전 모드를 바꿉니다.INTERGER by StandardBasicType.정수.

언급URL : https://stackoverflow.com/questions/14881775/hibernate-integer-is-unavailable-when-the-hibernate-version-is-upgraded-to-4-2

반응형