0
我有2個表:內連接處於休眠SQL:
- 券(映射在hibernate.cfg.xml爲
"Coupon"
) - 企業(在hibernate.cfg.xml映射爲
"Business"
)
在Business
每一行有以下欄目:
- Business_id
- 緯度
在Coupon
每一行有以下欄目:
- ID
- Business_id(
Which business this coupon is relevant to?
) - Expier_date
我想所有的優惠券與10公里範圍內的人有關。
因此,我試圖獲得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數據庫。
不工作。 「c.business」應該是什麼? – Billie
c.business意味着在類Coupon中有一個名爲Business的業務屬性。如果您的Copun類具有Business類型的任何屬性,則兩個表之間的關係未映射。 – djvazquez
我沒有。我如何添加關係?它應該是一對一的嗎? – Billie