0

我有 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();

但不起作用!!!!

4

1 回答 1

0

在prlpxjoin之间错过 sql 中的空格。

尝试这个

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

于 2013-07-16T11:38:12.780 回答