7
(E3和E4)表達我如何在QueryDSL表達where子句中的形式:簡單(E1和E2),或在QueryDSL
WHERE (E1 AND E2) OR (E3 AND E4)
E1..E4是任意的布爾表達式。重點是在括號內開始查詢,因此(E1 AND E2)。
(E3和E4)表達我如何在QueryDSL表達where子句中的形式:簡單(E1和E2),或在QueryDSL
WHERE (E1 AND E2) OR (E3 AND E4)
E1..E4是任意的布爾表達式。重點是在括號內開始查詢,因此(E1 AND E2)。
where(e1.and(e2).or(e3.and(e4)))
它的確是這是等效的邏輯公式,但不一樣。如果我想生成一個以括號開頭的SQL語句,但它在邏輯上等同於沒有它們的公式,該怎麼辦? – csviri
Querydsl保證以正確的方式將表達式序列化爲SQL,因此您不必擔心版權 –
「我不必擔心」對我來說聽起來有點棘手。我永遠不知道'where(e1.or(e2).and(e3))'意味着(e1或e2)和e3)或e1還是(e2和e3)'。 (e1.or(e2).and(e3.or(e4)))'產生了'(e1或e2)和(e3或e4)'我真的很想知道。但是第一個OR是如何發生在括號內的呢?基於什麼?那麼......和(e3.or(e4))對'...和(e3).or(e4)'有什麼區別嗎?我們通常以日誌的形式回顧我們的查詢,但我很想找到更具體的關於這個序列化的內容。 – virgo47