0

我使用一個使用投影列表的標準請求來返回一個自定義的DTO。現在我有兩個屬性投影:休眠:投影到字符串屬性上的布爾值

criteria.setProjection(
    Projections.projectionList 
     .add(Projections.property("Employee.id"), "id") 
     .add(Projections.property("Employee.name"), "name")) 
    .setResultTransformer(Transformers.aliasToBean(EmployeeDto.class)); 

在我的EmployeeDto中,我有一個布爾屬性「hasPicture」。這個信息是我的Employee表上的可空字符串列(名字,如果圖片實際上)。

我不關心這個名字本身,我想補充一個新的投影,做以下:

PictureName = NULL - > dto.hasPicture =真

PictureName == NULL - > dto.hasPicture = false

這可能嗎?怎麼樣?

+0

斯蒂夫先生。我已經做出了這個解決方法,當然它工作得很好。但我的問題更多的是要知道是否有一種方法可以直接在標準查詢中執行此操作,默認情況下。那麼,我可以考慮Hivernage沒有這樣的事情嗎?雖然我注意到你的第二個解決方案。 ;) – ddp

+0

Hivernage = Hibernate(ahah該死的法語拼寫檢查!) – ddp

回答

0

你可以在你的hasPicture函數中做這個檢查。

public Boolean hasPicuture(){ 
    if (this.picture == null) 
     return false 
    return this.picture 
    } 

另一種方法是編寫自己的布爾類型並在映射中使用它。