【发布时间】:2016-10-08 11:37:10
【问题描述】:
我有以下 SQL 查询,我需要让它在 HQL 中工作,我尝试了几个解决方案,但没有一个工作。(数据库:SQL 服务器)
select t.createdTimeStamp FROM ServiceData t , UserInfo C where C.UserId = t.UserId and CAST(t.createdTimeStamp AS DATE) = '2016-05-30'
我尝试在 HQL 中进行以下操作,但没有成功,(createdTimeStamp 在 sql server 中属于 datetime 数据类型)
查询:
select t.createdTimeStamp FROM ServiceData t , UserInfo C where C.UserId = t.UserId and CAST(t.createdTimeStamp AS DATE) = '2016-05-30'
错误:
org.hibernate.QueryException: Could not resolve requested type for CAST : DATE
任何有关如何使其工作的建议都会有所帮助。
【问题讨论】:
-
你试过转换日期参数吗?
select t.createdTimeStamp FROM ServiceData t , UserInfo C where C.UserId = t.UserId and CAST(t.createdTimeStamp AS DATE) = CAST('2016-05-30' as date) -
@vercelli 我试过了,得到以下错误 " java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode [IDENT] IdentNode : 'createdTimeStamp' {originalText=createdTimeStamp} ] 根本原因 java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode "
-
也许这会对你有所帮助:stackoverflow.com/questions/26471534/…
-
@vercelli,感谢您的建议,我在下面的 URL 中找到了帮助。StackOverflow