gpt4 book ai didi

java - JPA:createNativeQuery.getSingleResult() 返回一个对象,如何获取该对象内一个属性的值

转载 作者:搜寻专家 更新时间:2023-11-01 00:53:13 24 4
gpt4 key购买 nike

我有这样的问题

SET @rownum := 0; 
SELECT rank, id, point FROM
(
SELECT @rownum := @rownum + 1 AS rank, id, point FROM user ORDER BY point DESC
) AS result
WHERE id = 0;

所以我使用 EntityManager#createNativeQuery 来执行这个查询。

Object temp = em.createNativeQuery(sql).getSingleResult(); //sql is the above SQL query

现在对象 temp 包含有关 rankidpoint 的信息。请注意,rank 不是我的实体内的属性,rank 是在查询执行时计算的 --> 无法将此对象转换为我的实体。

那么如何获取rank的值呢?

编辑
这是我正在寻找的答案。所以不是这个

Object temp = em.createNativeQuery(sql).getSingleResult();

这样做

Object[] temp = (Object [])em.createNativeQuery(sql).getSingleResult();

既然我想知道rank的值,那我就这样做

Long rank = (Long) temp[0];

最佳答案

createNativeQuery 方法创建一个 Query 实例。您必须在 Query 对象上调用 getResultList() 或 getSingleResult() 才能实际执行查询。

http://download.oracle.com/javaee/5/api/javax/persistence/Query.html

关于java - JPA:createNativeQuery.getSingleResult() 返回一个对象,如何获取该对象内一个属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4404373/

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