gpt4 book ai didi

java - 错误无法在 JPA 中找到名为 [total_recods] 的参数

转载 作者:行者123 更新时间:2023-12-01 12:00:30 25 4
gpt4 key购买 nike

我想在此方法 getDataCount() 上从“total_recods”(查询类型)返回一个整数。如何以整数形式获取total_recods?我编辑我的代码,但它返回 0,而我的数据库中有一些数据。

@Override
public int getDataCount() {
// TODO Auto-generated method stub

Query query=null;
int count=0;

try {
query= em.createNativeQuery("SELECT count(*) AS total_recods FROM Data");
count = ((Number) query.getSingleResult()).intValue();

logger.info(Logger.EVENT_SUCCESS,count);
} catch (Exception e) {
logger.error(Logger.EVENT_FAILURE, e.getMessage());

}

return count;

}

解决问题后,代码如下所示:提示:计数类型应为长

@Override
public long getDataCount() {
// TODO Auto-generated method stub

long count=0;

try {
count = (long)em.createQuery("select count(*) from Data")
.getSingleResult();

} catch (Exception e) {
logger.error(Logger.EVENT_FAILURE, e.getMessage());

}

return count;

}

最佳答案

您放弃了结果。您应该这样做:

query= em.createNativeQuery("SELECT count(*) FROM Data");
int count = ((Number) query.getSingleResult()).intValue();

注意到我使用了Number,因为有些数据库返回Long,而其他数据库返回BigDecimal

关于java - 错误无法在 JPA 中找到名为 [total_recods] 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010152/

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