簡體   English   中英

渴望獲取執行休眠中的左聯接

[英]eager fetch performs left join in hibernate

我正在定義一個實體myParent,除了一件事情外,它工作正常。 它具有以下定義:

@OneToMany(mappedBy = "myParent", cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
private List<Child> children;

這將導致執行左右連接,因此如果有兩個孩子,我將得到兩個父母。 我不想只想要一個父母和兩個孩子。

我可以將fetchtype更改為lazy,但是我不是真的想要那個嗎?

當我選擇所有父母時,列表包含重復的父母,我不希望重復。

您應該使用DISTINCT_ROOT_ENTITY ResultTransformer

這意味着結果的每一行都是根實體的不同實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM