gpt4 book ai didi

java.lang.ClassCastException : java. math.BigDecimal 无法转换为 java.lang.Long

转载 作者:行者123 更新时间:2023-12-01 23:49:40 24 4
gpt4 key购买 nike

我在 OrderService.java 中有这段代码

    public void deleteOrderByUserId(int userId){
List<Long> orderIds = orderDAO.getOrderIdByUserId(userId);
int deleteOrders = orderDAO.deleteOrders(orderIds);
}

这是orderDAO.java中的代码

public List getOrderIdByUserId(int userId) {
StringBuilder queryStr = new StringBuilder("select distinct u.OrderId from ");
queryStr.append("User u where ");
queryStr.append("u.UserId in (:key)");

return getHibernateTemplate().getSessionFactory()
.getCurrentSession().createSQLQuery(queryStr.toString())
.setParameter("key", userId).list();
}


public int deleteOrders(List<Long> orderIds){
final String deleteOrder = "delete from Order o where o.OrderId in (:orderIds)";
final Query hibernateQuery = getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(deleteOrder);
hibernateQuery.setParameterList("orderIds", orderIds);
int count = hibernateQuery.executeUpdate();
return count;
}

执行此步骤时,我收到java.lang.ClassCastException:java.math.BigDecimal无法转换为java.lang.Long异常int count = hibernateQuery.executeUpdate( );

该代码有什么问题以及如何消除该异常

最佳答案

要获取 BigDecimal 对象的 long 值,您可以对其调用 .longValue() 方法。

关于java.lang.ClassCastException : java. math.BigDecimal 无法转换为 java.lang.Long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58224684/

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