2016-11-17 2 views
0

스프링 부트 JPA를 사용 중이며 상태 ID가 null이 아닌 값만 반환하려고합니다. 이 질문을하는 가장 좋은 방법은 무엇입니까?스프링 부트 JPA null이 아님에 대한 쿼리

도메인

@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); 

나는 내가 루프 수 실현 반환 된 페이지를 통해 제거하려면 nulls 찾으십시오,하지만 난 오히려 null이 아닌 값을 반환하는 쿼리를 갖고 싶습니다. 엔티티 상태 ID에 대해 null이 아닌지를 쿼리하는 가장 좋은 방법이 무엇인지 모르겠습니다.

+0

당신이 [참조 가이드 (http://docs.spring.io/을 읽을 시간을 찍은 적이 더 많은 옵션에 대한 the docs를 참조하여 인터페이스에 쉽게 그렇게 할 수 spring-data/jpa/docs/current/reference/html/# jpa.query-methods.query-creation) 예를 들어 * 표 4는 키워드를 설명합니다. –

답변

6

당신은

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