在HQL查询中执行加/减?

时间:2012-11-05 09:07:00

标签: grails hql

我使用的是grails 1.3.7。 我有这样的域类产品:

class Product = {
   String name
   Float price
   Float discount = 0.0
}

我正在使用HQL在我的表中执行搜索(请不要问为什么我没有使用createCriteriafindAllBy,我的结构比仅仅一个产品域更详细。 我需要在特定的maxPrice和minPrice之间进行搜索,所以我这样做:
select p from Product p where p.price between :minPrice and :maxPrice

我传递了require参数,一切正常。现在我需要更改HQL查询,以便在折扣价格内进行搜索。 我怎么能这样做:
select p from Product p where p.price between :minPrice - p.discount and :maxPrice - p.discount

1 个答案:

答案 0 :(得分:0)

显然你可以这样做:
select p from Product p where p.price - p.discount between :minPrice and :maxPrice