1

mysql コードを JPQL に変換しようとしています。私は2つのテーブルを持っています。最初のテーブルの名前は Product です。次のフィールドがあります: id および code。2 番目のテーブルは Descriptor と呼ばれ、id (製品テーブルから)、code (製品テーブルから)、および Descriptor テーブルに固有のフィールドである Description の 3 つのフィールドがあります。テーブルを結合したいので、製品 ID と製品コードの一意の組み合わせごとに説明を追加します。

    The Sql is as follows ( this is correct): 
    Select Product.id, Product.code, Descriptor.DESCRIPTION
    from Product Inner join Descriptor where 
    Product.id = Descriptor.id and 
    Product.code = Descriptor.code

(The error is in here)
The JPQL I am trying is as follows which results in a "path" error
select p from Product p INNER JOIN Descriptor d where 
p.id = d.id and p.code = d.code;

すべてのアドバイスは大歓迎です

4

1 に答える 1

0

HQL に関するドキュメントを読んでください。HQL での結合は、エンティティ間の関連付けを使用して行われます。

select p from Product p 
inner join p.descriptor d 
where p.code = d.code;

(それぞれの ID を使用して、Product と Descriptor の間に OneToOne 関連付けがあると仮定します)。

于 2013-04-07T16:49:42.000 に答える