我有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/