运算符不存在:bigint = bytea

时间:2012-01-30 14:13:01

标签: hibernate postgresql

这是我的代码:

     List<Long> ids= new ArrayList<Long>();
     ids.add(10L);ids.add(11L);
    String queryString ="select type_id from Types where parent_type_id in (:typeIds)";

    SQLQuery sqlQuery = session.createSQLQuery(queryString);

    sqlQuery.setParameter("typeIds", ids);
            List<Object[]> results = sqlQuery.list();

执行上述查询时出现此错误。 仅供参考,当我将数组或ArrayList作为参数传递时,我刚刚看到了这个问题。

ERROR util.JDBCExceptionReporter: ERROR: operator does not exist:
bigint = bytea Exception in thread "main"
org.hibernate.exception.SQLGrammarException: could not execute query
    at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
    at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)

2 个答案:

答案 0 :(得分:5)

query.setParameterList("typeIds",ids);

使用setParameterList();

解决了问题

答案 1 :(得分:0)

如果null == ids,您将收到同样的错误。