gpt4 book ai didi

mysql - SQL异常: Unknown column in where clause

转载 作者:行者123 更新时间:2023-11-29 14:56:17 25 4
gpt4 key购买 nike

我正在使用 Hibernate3 和 spring 应用程序。我在现有表中引入了一列,与 .hbm 文件中的添加具有多对一关系,如下所述:

<many-to-one name="qualityStatus" column="quality_status" 
class="model.PurchaseStatus" lazy="false" fetch="join"/>

与此 hbm 对应的对象具有类型为“PurchaseStatus”的属性,字段名称为“qualityStatus”。

现在,当我尝试使用查询从表示上述对象的表中获取数据时:

List<Long> dnIds = session.createQuery("select dnItem.dnId from DeliveryNoteItem dnItem where dnItem.qualityStatus!=? and dnItem.qualityStatus!=? and dnItem.qualityStatus!=?")
.setInteger(0,1)
.setInteger(1,5)
.setInteger(2,7)
.list();

我收到一条错误消息,内容为'java.sql.Exception:'where 子句'中的未知列'deliveryno0_.quality_status'当部署在测试服务器上时,我收到此错误,但是当我在本地服务器上检查相同的内容时,当我直接在测试服务器上的数据库上运行此查询时,我也可以正常工作,它会返回结果。这样就确认了测试服务器上的数据库是正常的。仅当它通过测试服务器上的应用程序执行时,我才会收到此错误。

任何人都可以告诉我原因是什么或者我该如何调试这个问题。提前致谢。期待回复。

最佳答案

如果您的数据库中确实有 quality_status 列,那么您应该确保在测试服务器上部署了最新版本的应用程序,并确保 hibernate 的连接 url确实指向测试数据库。

这不是 hibernate 问题,也不是编程问题。它是环境性的 - 检查您的配置并重新部署。

关于mysql - SQL异常: Unknown column in where clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543825/

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