gpt4 book ai didi

java - Hibernate查询异常: unexpected token inside a number

转载 作者:行者123 更新时间:2023-12-01 12:24:03 25 4
gpt4 key购买 nike

我从此查询中收到 HibernateQueryException。 innerQuery 返回一个合法的数字(0194),但outerQuery 抛出异常。我看不到语法中有任何错误。同样奇怪的是,解析异常从数字的中间开始。

String innerQuery = "select barcode from Data where barcode is not null";
List<String> innerResults = getHibernateTemplate().find(innerQuery); //returns a List with one item "0194";
if(!innerResults.isEmpty()){
String outerQuery = "from Data d where d.barcode in (" +
innerResults.toString().replace("[", "").replace("]", "") + ")";
return getHibernateTemplate().find(outerQuery);
}

异常

org.springframework.orm.hibernate3.HibernateQueryException: 
unexpected token: 94 near line 1, column 35 [from Data d where d.barcode in (0194)];

最佳答案

您已将 barcode 字段存储为字符串 (0194),因此您必须引用您的值。

因此您可以应用此修复:

String innerQuery = "select concat(''', barcode, ''') from Data where barcode is not null";

关于java - Hibernate查询异常: unexpected token inside a number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484172/

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