java - x64 - Hibernate.INTEGER no está disponible cuando la versión de Hibernate se actualiza a 4.2.0.CR1
unsupported major.minor version 52.0 java (3)
Este Hinernate.Integer está en desuso desde 3.6.x
Debes usar IntegerType.INSTANCE
en IntegerType.INSTANCE
lugar.
Acabo de actualizar Hibernate de 3.2.5 a 4.2.0.CR1 . Estaba usando algo como los siguientes métodos en clases DAO para localizar el número de fila actual en Oracle 10g con el método 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();
}
El .addScalar("row_num", Hibernate.INTEGER)
como se muestra en el fragmento de código anterior, emite un error en tiempo de compilación.
cannot find symbol
symbol: variable INTEGER
location: class Hibernate
No está disponible en la clase org.hibernate.Hibernate
. El IDE de NetBeans que estoy usando es 7.2.1 no está listando tal constante. La búsqueda de Google no pudo llevarme a la solución real. Entonces, ¿cuál es la alternativa en esta versión de Hibernate (4.2.0.CR1)?
Hacer:
- importar org.hibernate.type.StandardBasicTypes;
- reemplace Hibernate.INTEGER por StandardBasicTypes.INTEGER.
Si está utilizando una versión anterior de Hibernate, pero no quiere usar un valor en desuso mientras se encuentra en 3.5.xo más, tendrá que usar el new IntegerType()
porque IntegerType.INSTANCE
no existe antes de 3.6.