gpt4 book ai didi

java - HQL 不会忽略列中包含空白字符串的值

转载 作者:行者123 更新时间:2023-11-30 11:15:29 24 4
gpt4 key购买 nike

我正在尝试为我的应用程序设置一个查询,以仅从具有特定列集的表中提取值。大多数情况下,此列将为空,但如果您在应用程序端编辑并保存项目而未在此字段中放置任何内容,那么它会将一个空字符串保存到该数据库字段。

我试过 TSQL 查询:

SELECT * from TABLE where COLUMN is not NULL AND COLUMN != ''

此查询返回我需要的结果,但是当我在 HQL 中运行相同的查询时:

SELECT OBJECT from TABLE where COLUMN is not NULL and COLUMN <> ''

然后它仍然包含该列中具有空白字符串的值。我尝试过使用 HQL 和运算符 <> 和 !=,并且还尝试使用 Restrictions.ne("column","") 将其转换为条件对象,但似乎没有提供我需要的结果。

我在评论中尝试了 Length,但没有成功。使用查询中的长度,hibernate 会生成完整的查询。 time_clock_id 列是我遇到问题的列。 Hibernate 设置为 SQLServerDialect

select timezone0_.time_zone_id as time1_368_, timezone0_.version as version368_, timezone0_.modification_timestamp as modifica3_368_, timezone0_.time_offset as time4_368_, timezone0_.modification_user as modifica5_368_, timezone0_.name as name368_, timezone0_.description as descript7_368_, timezone0_.active as active368_, timezone0_.time_clock_id as time9_368_ from time_zone timezone0_ where timezone0_.active=1 and (timezone0_.time_clock_id is not null) and len(timezone0_.time_clock_id)>0

最佳答案

菜鸟错误。在我的操作类中的另一个地方,我使用不同的查询在应用程序中构建选择列表。这导致列表被所有值而不是那些使用空白的值覆盖。删除此重复项后,我可以使用运算符 column <> ''我得到了正确的结果

关于java - HQL 不会忽略列中包含空白字符串的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393549/

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