Hi I'm using Hibernate and trying to delete some info from my database(Oracle 11g) I have such code:
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();
and DELETE_NEWS_BY_ID field look like this:
private static final String DELETE_NEWS_BY_ID = "delete from News where id IN (:idList)";
and when I'm trying to process this code IDE gives me this:
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 don know whats meen I cannot be cast to java.lang.Integer
whats meen I
please help
UPDATE
idList it is int[] idList