source

null이 아닌 스프링 부트 JPA 쿼리

manycodes 2023. 3. 12. 10:57
반응형

null이 아닌 스프링 부트 JPA 쿼리

스프링 부트 JPA를 사용하고 있는데 상태 ID가 null이 아닌 값만 반환합니다.이를 문의하는 가장 좋은 방법은 무엇입니까?

도메인

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

엔티티 컨트롤러

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

반환된 페이지를 루프하여 제거할 null을 찾을 수 있지만 쿼리는 null이 아닌 값만 반환하는 것이 좋습니다.엔티티 상태 ID에서 null이 아닌 쿼리 방법을 잘 모르겠습니다.

인터페이스로 간단하게 할 수 있습니다.

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

자세한 옵션에 대해서는, 문서를 참조해 주세요.

언급URL : https://stackoverflow.com/questions/40659241/spring-boot-jpa-query-for-not-null

반응형