クラスとオプションの関係をOffer
持つクラスがあります。そのため、一部のオファーの記事プロパティは値を保持します。Article
null
次のステートメントを使用すると、すべてが正常に機能します。記事がないものも含めて、すべてのオファーを受け取りました。
SELECT o FROM Offer o
LEFT OUTER JOIN o.article a
LEFT OUTER JOIN o.vendor v
WHERE v.number = '0212' OR a.nummer = '123456'
ステートメントを次のように変更した場合:
SELECT o FROM Offer o
LEFT OUTER JOIN o.article a
LEFT OUTER JOIN o.vendor v
WHERE v.number = '0212' OR o.article.nummer = '123456'
とは異なる記事を持つこれらのオファーのみを取得しましたNULL
。これは、暗黙的な結合(o.article.nummer
)の表記により、内部結合が強制されるためです。
左外部結合を暗黙的な結合(注釈駆動型など)に強制する可能性はありますか?機会があれば、次のような短い形式を使用できます。
SELECT o FROM Offer o
WHERE v.number = '0212' OR o.article.nummer = '123456'