2013-07-16 84 views
0

我有3種豆:產品,顏色,價格休眠,加入3個表

價格 - 產品關係 - @ManyToOne

產品展示色彩關係 - @ManyToMany

每種顏色都有3產品和每個產品都有3價格

我會解釋我的問題:在產品表我有一個字段「類型」,並在價格表我有場「PRICE_MIN」

我是否需要獲取指定顏色的所有價格?我如何用HQL做到這一點?

Query query =hibernatesession.createQuery("select distinct prlpx from Color c, Product pr " + 
         "join pr.listPrice prlpx" + 
         "join c.listProduct clpr where clpr.nom='"+color+"' " + 
         " AND prlpx.price_min='"+price_min+"' pr.type='x' "); 
      listPrice =(List<Price>)query.list(); 

但不工作!!!!

回答

0

錯過您的sql中的空間prlpx加入

試試這個

Query query =hibernatesession.createSQLQuery("select distinct prlpx from Color c, Product pr " + 
         "join pr.listPrice prlpx " + 
         "join c.listProduct clpr where clpr.nom='"+color+"' " + 
         " AND prlpx.price_min='"+price_min+"' pr.type='x' "); 

注意我用了createSQLQuery

+0

不起作用! – cary

+0

對不起,您的查詢似乎沒有HQL,那麼是正確的createQuery。 – mr8lu3

+0

但是我對c.listProduct clpr感到困惑,這意味着在Color bean中有producs列表? – mr8lu3