2
我有一个oracle数据库,其中存储的仓库只能在一周内的某一天打开, '星期一'或'星期四'。 将日期添加到HQL中的Date类型的命名参数
现在我要选择所有有效的仓库对于给定的一周。请求的星期通过日期。已经同意这个日期总会是一些星期天,例如, 5月29日,2011年这导致了下面的查询:
from Warehouse w
where (:requested_week_date + w.day_open) between w.valid_start and w.valid_end
的问题是,这个查询会给出一个类转换异常:
java.lang.ClassCastException: java.util.Date incompatible with java.lang.Integer
的事情是,在水下甲骨文能够加入一个到日期的整数。 Oracle会将该整数作为天数添加到日期中。我的问题是,如果可以在HQL中使此工作。
我知道你也可以在hibernate中定义原生的sql查询(已经试过了,这个效果很好),但那不是我正在寻找的答案。我只是寻找一个HQL解决方案,因为有一个。
我正在使用命名查询。你能给我一个这样的例子吗? – 2011-05-24 13:27:55
@H。 van de Kamp:我编辑了我的答案给你看一个例子 – 2011-05-24 14:28:27