我有2张桌子:


优惠券(在hibernate.cfg.xml中映射为"Coupon"
业务(在hibernate.cfg.xml中映射为"Business"


Business中的每一行都有以下列:


Business_id
纬度


Coupon中的每一行都有以下列:


ID
Business_id(Which business this coupon is relevant to?
Expier_date


我想获取所有与10KM范围内的人相关的优惠券。

因此,我尝试使用latitude < 30获取所有企业优惠券。

    return (List<Coupon>) s.createQuery(
    "from Coupon inner join Business on business_id where Business.latitude < 30").list();


但是得到以下异常:

org.apache.jasper.JasperException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 1, column 42 [from entities.Coupon inner join Business on business_id where Business.latitude < 30]


如果我错过任何必要的信息,请告诉我,然后添加。

使用mySQL数据库。

最佳答案

您的查询不是有效的HQL查询,单词on是错误的。 View this。这可能会运行:

from Coupon as c inner join c.business  as b where b.latitude < 30


The relationship must be correctly mapped.

关于java - hibernate SQL中的内部联接:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20687238/

10-11 12:44