【发布时间】:2017-04-01 21:15:00
【问题描述】:
我正在从文本文件中读取查询,并依赖于 UI 中的过滤器,我正在使用字符串缓冲区附加其他查询。。像上面一样传递多个 id 来获取数据
我得到嵌套异常是 javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet] 根本原因 java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字。
我正在使用 q.setParameter,它是 Java 持久性查询。所以我没有paramterList。因为值之间的逗号我得到了无效的数字。您能帮我在这里做什么来支持多个值并获取数据吗?
我的代码示例:
StringBuffer q = new StringBuffer();
q.append(queryFromPropertiesFile);
if( model.getId()!=null && ! model.getId().isEmpty())
q.append(" and emp.id IN (:id)");
Query query = entity.createNativeQuery(q.toString());
query.setParameter("id", model.getId());
【问题讨论】:
-
谢谢,但我想使用 Java.persistence.Query 而不是 org.hibernate.query.Query。 org.hibernate.query.Query 有 setParameterList。
标签: java hibernate spring-mvc persistence