ORA-01722 IN的条件无效的数字

时间:2017-04-21 04:17:37

标签: java mysql oracle hibernate named-query

这是我的代码:

}

EmployeeEXT表格结构就像

private static final Function<String, Integer> EmpIdToInt = id -> Integer.valueOf(ACI.generate("emp",id).revealId().intValue());

EmployeeEXT.java Pojo

String sql = "UPDATE EmployeeEXT SET bonus = 1 WHERE empId IN (:empIds);
Query query = session.createSQLQuery(sql);
query.setParameterList("empIds",  employeeIds);
query.executeUpdate();

Hibernate parameterList设置empIds参数的长列表。 但是oracle给出了 ORA-01722无效的数字

我想原因是hibernate用cama分隔的长值替换了'empIds`参数,所以oracle将其视为字符串,但是当我发送单个值时它会工作。

同样的代码安静适用于MYSQL。

有人帮我配合hibernate查询parameterList。

0 个答案:

没有答案