0

私は3つの豆を持っています:製品、色、価格

価格 - 商品関係 - @ManyToOne

製品 - 色の関係 - @ManyToMany

各色には 3 つの製品があり、各製品には 3 つの価格があります。

私の問題を説明します。Product テーブルには「type」フィールドがあり、price テーブルには「price_min」フィールドがあります。

指定した Color のすべての Price を取得する必要がありますか? 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

SQL でprlpxjoinの間にスペースがありません。

これを試して

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 に答える