2012-03-13 41 views
1

如何從Criteria Hibernate中刪除null屬性。例如不包括Criteria Hibernate中的null屬性

選擇ENAME,EMPNO,empDate從僱員,其中爲ename = '檢查' 和EMPNO = '1234' 和empdate = TO_DATE( 「22-JUL-2000」, 「DD-MON-YYYY」)

在上面的示例中,ename或empno或empdate任何屬性都可能爲null。

如何在標準實施

我並不擔心結果集,我很擔心這些限制是如何加入。我婉避免以下代碼:

if (((empno!= null) && (empno.trim().length()<=0))) 
    { 
     criteria.add(Restriction.eq("empno", empno)) 
    } 

回答

2

一般來說,你不能從結果集中刪除單個屬性,但你可以設置過濾器導致了標準,如果某個屬性爲空值:

criteria.add(Expression.isNotNull("ename")); 

更多詳細信息:Hibernate Chapter 16. Criteria Querieshere