gpt4 book ai didi

hibernate 抛出 : An unexpected token "" was found following ""

转载 作者:行者123 更新时间:2023-12-04 12:26:42 24 4
gpt4 key购买 nike

我有一个 native SQL 查询,我想通过 hibernate 运行,但抛出错误:

org.hibernate.exception.SQLGrammarException:
could not execute native bulk manipulation query
Caused by:
com.ibm.db2.jcc.am.SqlSyntaxErrorException: An unexpected token ""
was found following "". Expected tokens may include: "NQ_EXE_ID = 12345"

我执行更新的代码是:

SQLQuery updateQuery = getSession().createSQLQuery(updateSql);
System.out.println(updateQuery.getQueryString());
updateQuery.executeUpdate();

在调试过程中,我可以看到 SQLQuery 对象内部,sql 是:(在 db2 中运行良好)

UPDATE some_table SET DEST_FLDR = 'some_value' ,
LST_CHG_TMS = CURRENT TIMESTAMP
WHERE SUB_RUN_ID = 111111
AND INQ_EXE_ID = 12345 ;

如果我手动运行上面代码生成的 sql,它会执行得很好。但是,当我尝试通过 hibernate 来执行此操作时,它会抛出“syntaxErrorException”。有任何想法吗?谢谢

最佳答案

问题是由查询末尾的分号引起的。您使用的 PostgreSQL SQL 工具需要它,因为它允许分隔多个查询,但要通过 Java 语句执行单个查询,分号不能存在。

关于 hibernate 抛出 : An unexpected token "" was found following "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136784/

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