3
我有一個在尋找這樣一個複雜的數據庫的條件:Hibernate查詢與在複雜的數據庫結構
product *1 <-> n* inventory *n <-> 1* inventoryUser *1 <-> n* user
現在我想查詢例如所有在hql中user.firstname ='peter'的產品。
我有一個在尋找這樣一個複雜的數據庫的條件:Hibernate查詢與在複雜的數據庫結構
product *1 <-> n* inventory *n <-> 1* inventoryUser *1 <-> n* user
現在我想查詢例如所有在hql中user.firstname ='peter'的產品。
我figered如何處理:
Product as p join fetch p.inventories as i join fetch i.inventoryUser as iu join fetch iu.user as u where u.name=:name
在您的實體和映射中,您應該爲每個關係都提供參考。和你的HQL查詢將如下所示:
SELECT p FROM Product p, IN(p.inventory.inventoryUser) AS iu
WHERE iu.username=:username
嘿嘿,如果它只會是那麼容易。我已經試過這一點,但由於事實inventoryUser是一個集合Hibernate拋出一個'QueryException:非法嘗試解引用集合' – woezelmann 2010-02-01 11:47:48
已更新。我還沒有嘗試過,但加入是 – Bozho 2010-02-01 12:06:28
沒有,仍然得到:'HibernateQueryException:非法嘗試取消集合[product0_.id.inventories]元素屬性參考[inventoryUser]' – woezelmann 2010-02-01 14:37:17