gpt4 book ai didi

java - 模型未在 Hibernate 中映射用于日期 SQL 查询

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

我需要显示与日期列相关的值,只需将月份值传递为 01(代表一月)和 02(代表二月),如下所示。我尝试使用 hibernate 查询,但它显示错误。

@Query("select to_char(calendarDate,'mm'),dayType from Calendar 
where calendarDate like '%?1%'")
List<String>findDayType(int callist);

我明白了

model not mapped in hibernate

上述查询出错

最佳答案

使用 DATE 作为类型的全部目的是让数据库可以有效地查询数据。这与将数字存储为 INT 而不是 VARCHAR 的原因相同 - 因此引擎可以做出明智的决策。如果您在日期上使用 LIKE 运算符,您将失去选择正确数据类型所带来的好处。

使用 MONTH 允许 SQL 获取它知道符合 DATE 数据格式的列的月份部分。当您使用 LIKE 时,它会进行逐个字符的模式匹配,这明显成本更高且速度更慢。

如果 LIKE 足够,那么 MONTH() 将不存在。对于 DATE 查询,任何内置函数都将始终是 LIKE 的选择。

关于java - 模型未在 Hibernate 中映射用于日期 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44623881/

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