2016-11-17 11 views
0

Ich verwende Spring-Boot-JPAs und ich möchte nur Werte, wo die Status-ID nicht null ist. Wie kann man das am besten abfragen?Spring Boot JPA Abfrage für nicht Null

Domain

@ManyToOne 
    @JoinColumn(name = "entity_status_id") 
    private entityStatusLookup entityStatusLookup; 

EntityController

public interface EntityRepository extends CrudRepository<Batch, String> { 

    public Page<Entity> findByUploadUserOrderByUploadDateDesc(String userId, Pageable page); 

    public Entity findByEntityId(String entityId); 
} 

api

@RequestMapping(value="/entity/user", method=RequestMethod.GET) 
    public HttpEntity<PagedResources<Entity>> getEntityByUser(Pageable page, PagedResourcesAssembler assembler) { 
     String user = SecurityContextHolder.getContext().getAuthentication().getName(); 
     Page<Enity> entityItems = entityRepository.findByUploadUserOrderByUploadDateDesc(user, page); 

     return new ResponseEntity<>(assembler.toResource(entityItems), HttpStatus.OK); 

Ich weiß, dass ich konnte Schleife Durchsucht die zurückgegebenen Seiten und sucht nach zu entfernenden Nullen. Ich möchte jedoch lieber, dass die Abfrage nur Werte zurückgibt, die nicht null sind. Ich bin mir nicht sicher, was der beste Weg ist, um nicht Null auf der Entity-Status-ID abzufragen.

+0

Sie sich die Zeit genommen haben, um zu lesen [im Referenzhandbuch] (http://docs.spring.io/ spring-data/jpa/docs/current/referenz/html/# jpa.query-methods.query-creation) zum Beispiel * table 4 * was die Schlüsselwörter erklärt ... –

Antwort

6

Sie können das tun leicht in Ihrer Schnittstelle

public interface EntityRepository extends CrudRepository<Batch, String> { 
    Iterable<Entity> findByStatusIdNotNull(); 
} 

the docs finden Sie weitere Optionen

Verwandte Themen