Dan*_*use 14 hibernate jpa hql outer-join jql
有一个类与类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'
Run Code Online (Sandbox Code Playgroud)
如果我将声明更改为:
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'
Run Code Online (Sandbox Code Playgroud)
我只得到这些提供不同的文章NULL.这是因为隐式连接(o.article.nummer)的表示法强制内连接.
是否有可能强制左外连接为隐式连接(注释驱动或其他)?如果有可能我可以使用这样的简短形式:
SELECT o FROM Offer o
WHERE v.number = '0212' OR o.article.nummer = '123456'
Run Code Online (Sandbox Code Playgroud)
您可以尝试放置@Fetch(FetchMode.JOIN)Article 属性。然而,这是一个 Hibernate 注释。
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
//...
@ManyToOne
@Fetch(FetchMode.JOIN)
Article article;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13551 次 |
| 最近记录: |