gpt4 book ai didi

hibernate/JPA : How to force implicit joins to use LEFT OUTER JOINS

转载 作者:行者123 更新时间:2023-12-03 22:38:04 25 4
gpt4 key购买 nike

有一个类 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'

最佳答案

你可以试试把@Fetch(FetchMode.JOIN)在文章属性上。然而,这是一个 Hibernate 注释。

import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;

//...

@ManyToOne
@Fetch(FetchMode.JOIN)
Article article;

关于 hibernate/JPA : How to force implicit joins to use LEFT OUTER JOINS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9005363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com