我有一個包含 11 個欄位的類,用于多選查詢。
我的問題是,目前,我有 10 個欄位的資料。其中之一是null并且將在未來使用。
query.multiselect(
selection1,
selection2,
...
selection10
)
因此,我創建了具有 10 個欄位的新建構式,但由于引數太多,它使代碼有異味。我認為如果我的多選看起來像這樣會更好:
query.multiselect(
selection1,
selection2,
...
selection10,
selection11 // this should return default null value
)
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
CriteriaQuery.multiselect接受一個Selection物件的串列。該Selection介面由Expression擴展,您可以使用CriteriaBuilder.literal創建常量運算式。或者CriteriaBuilder.nullLiteral對于您想要一個常量的情況null。所以我會嘗試:
query.multiselect(
selection1,
selection2,
...
selection10,
criteriaBuilder.nullLiteral(String.class) // use the class of the value that
// will be selected in the future
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/478768.html
