2016-04-27 4 views
1

I verwendet nullslast() als Codebeispiel wie unten,, wie Sie mit Federdaten 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); 

bekam aber SQL ohne nulls zuletzt wie:

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

jemand kann Hilf mir, warum orderAudTime.nullsLast() nicht funktioniert?

Die Datenbank ist Postgre und das Orm-Framework ist Hibernate.

+0

Wenn Audittime null ist, wird es oben auf der Seite angezeigt. Und orderAuditTime.nullsFirst() funktioniert nicht so gut. – footoss

+0

SQL-Server unterstützt Nullen nicht oder Nullen zuerst? – footoss

Antwort

0

Soweit ich sehen kann, werden Instanzen von Sort.Order in javax.persistence.criteria.Order konvertiert. Diese Schnittstelle haben keine Unterstützung für nulls erste/letzte:

package javax.persistence.criteria; 

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

So nulls erste/letzte auf Sort.Order angegeben wird ignoriert.

Verwandte Themen