gpt4 book ai didi

java - Hibernate.INTEGER不可用,当Hibernate版本升级到4.2.0.CR1时

转载 作者:太空狗 更新时间:2023-10-29 22:37:28 25 4
gpt4 key购买 nike

我刚刚将 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
@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.Hibernate 类中不可用。我使用的 NetBeans IDE 是 7.2.1 没有列出这样的常量。谷歌搜索无法引导我找到实际的解决方案。那么这个版本的 Hibernate (4.2.0.CR1) 有什么替代方案呢?

最佳答案

此 Hinernate.Integer 自 3.6.x 起已弃用

您应该改用 IntegerType.INSTANCE

关于java - Hibernate.INTEGER不可用,当Hibernate版本升级到4.2.0.CR1时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com