2016-04-27 68 views
1

我用nullslast()爲下面的示例代碼,如何使用Spring數據JPA Sort.Order.nullslast

 List<Sort.Order> orders = new ArrayList<>(); 

     Sort.Order orderAuditTime = new Sort.Order(Sort.Direction.DESC,"auditTime"); 
     Sort.Order orderEntryTime = new Sort.Order(Sort.Direction.DESC,"customer.entryTime"); 

     orders.add(orderAuditTime.nullsLast()); 
     orders.add(orderEntryTime); 

     sort = new Sort(orders); 

,但得到的SQL沒有零點去年一樣:

order by 
    auditrecor0_.audit_time desc, 
    customer1_.entry_time desc limit ? 

人幫助我爲什麼orderAuditTime.nullsLast()不起作用?

數據庫是postgre,orm框架是休眠狀態。

+0

如果audittime爲null,它將位於頁面頂部。而orderAuditTime.nullsFirst()也不起作用。 – footoss

+0

sql服務器不支持空值最後或空值先? – footoss

回答

0

就我所見,Sort.Order的實例被轉換爲javax.persistence.criteria.Order。此接口不具有空支持首/末:

package javax.persistence.criteria; 

public interface Order { 
    Order reverse(); 
    boolean isAscending(); 
    Expression<?> getExpression(); 
} 

因此,第一/最後的Sort.Order指定的空值將被忽略。

相關問題