gpt4 book ai didi

java - 尝试从数据库中删除时出错

转载 作者:行者123 更新时间:2023-12-04 05:24:37 28 4
gpt4 key购买 nike

嗨,我正在使用 Hibernate 并尝试从我的数据库(Oracle 11g)中删除一些信息
我有这样的代码:

    Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
Query query = session.createQuery(DELETE_NEWS_BY_ID);
query.setParameterList(ID, Arrays.asList(idList));
query.executeUpdate();
session.getTransaction().commit();

和 DELETE_NEWS_BY_ID 字段如下所示:
private static final String DELETE_NEWS_BY_ID = "delete from News where id IN (:idList)";

当我尝试处理此代码时,IDE 给了我这个:
java.lang.ClassCastException: [I cannot be cast to java.lang.Integer
at org.hibernate.type.descriptor.java.IntegerTypeDescriptor.unwrap(IntegerTypeDescriptor.java:36)
at org.hibernate.type.descriptor.sql.IntegerTypeDescriptor$1.doBind(IntegerTypeDescriptor.java:57)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:92)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:275)
at org.hibernate.param.NamedParameterSpecification.bind(NamedParameterSpecification.java:66)
at org.hibernate.hql.internal.ast.exec.BasicExecutor.execute(BasicExecutor.java:95)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:413)
at org.hibernate.engine.query.spi.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:282)
at org.hibernate.internal.SessionImpl.executeUpdate(SessionImpl.java:1267)
at org.hibernate.internal.QueryImpl.executeUpdate(QueryImpl.java:116)
at com.epam.newsmanagement.dao.HibernateNewsDao.deleteNewsById(HibernateNewsDao.java:61)
at com.epam.newsmanagement.action.NewsAction.delete(NewsAction.java:155)

我不知道是什么 I cannot be cast to java.lang.Integer什么意思 I
请帮忙

更新

idList 它是 int[] idList

最佳答案

我觉得你的问题出在 Arrays.asList(idList) 调用中。看看这个帖子:

Arrays.asList() not working as it should?

似乎 asList 方法不适用于原始类型(您报告的 int ),这可能是您的 Cast 异常问题的原因。

将 idList 形式的 int 更改为 Integer:

整数 []idList;

然后再试一次。祝你好运。

关于java - 尝试从数据库中删除时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340716/

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