Spring Boot JPA 查询不为空
Posted
技术标签:
【中文标题】Spring Boot JPA 查询不为空【英文标题】:Spring Boot JPA Query for not null 【发布时间】:2017-04-01 06:02:17 【问题描述】:我正在使用 Spring Boot JPA,我只想返回状态 ID 不为空的值。查询此问题的最佳方法是什么?
域
@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);
我意识到我可以遍历返回的页面并查找要删除的空值,但我宁愿让查询只返回非空值。我不确定在实体状态 id 上查询 not null 的最佳方法是什么。
【问题讨论】:
你有没有花时间阅读the reference guide,例如table 4,它解释了关键字... 【参考方案1】:您可以在界面中轻松做到这一点
public interface EntityRepository extends CrudRepository<Batch, String>
Iterable<Entity> findByStatusIdNotNull();
更多选项请见the docs
【讨论】:
你提供的链接很有用。以上是关于Spring Boot JPA 查询不为空的主要内容,如果未能解决你的问题,请参考以下文章
JPA OneToOne,外键在 Spring Boot 上为空
Spring Boot JPA 元模型不能为空!尝试运行 JUnit / 集成测试时