Tin*_*iny 17 java oracle hibernate compiler-errors
我刚刚将Hibernate从3.2.5升级到4.2.0.CR1.我在DAO类中使用类似以下方法的东西来使用该createSQLQuery()方法在Oracle 10g中查找当前行号.
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
Run Code Online (Sandbox Code Playgroud)
@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();
}
Run Code Online (Sandbox Code Playgroud)
.addScalar("row_num", Hibernate.INTEGER)上面的代码片段中显示的方法发出编译时错误.
cannot find symbol
symbol: variable INTEGER
location: class Hibernate
Run Code Online (Sandbox Code Playgroud)
它在org.hibernate.Hibernate课堂上不可用.我正在使用的NetBeans IDE是7.2.1未列出这样的常量.谷歌搜索无法引导我找到实际的解决方案.那么在这个版本的Hibernate(4.2.0.CR1)中有什么替代方案呢?
如果您使用的是旧版本的Hibernate,但是在3.5.x或更低版本时不想使用已弃用的值,则必须使用new IntegerType()因为IntegerType.INSTANCE3.6之前不存在.