2013-07-16 83 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