java – spring data findBy返回类型
spring数据findBy方法有哪些可能的返回类型?我没有在任何地方找到任何综合列表.
像findByXXX可以返回 1) Entity 2) Optional<Entity> 3) List<Entity> 4) Stream<Entity> 还有更多,但我们有一个明确的清单吗? 此外,List< Entity>当没有找到数据时返回emptyList但是Stream< Entity>如果没有找到数据,则返回null,因此当您在流上应用map / filter等时,您将获得NPE. 除了在调用流函数之前物理检查null之外,是否有更好的方法来使用Stream而不会导致NPE. 解决方法
您的可能退货类型列表是相关的.当您需要分页结果时,您也可以使用类型页面和切片.见例子:
Page<User> findByLastname(String lastname,Pageable pageable); Slice<User> findByLastname(String lastname,Pageable pageable); “第一种方法允许您将org.springframework.data.domain.Pageable实例传递给查询方法,以动态地将分页添加到静态定义的查询中.页面知道可用元素和页面的总数.它通过以下方式实现:基础设施触发计数查询以计算总数.由于这可能很昂贵,取决于所使用的商店,Slice可以用作返回.Slice只知道是否有下一个Slice可用,这可能只是走路时的思想就足够了更大的结果集.“ – 查看更多:Spring Data Documentation 对于另一个问题,您可以使用Guava / Java 8 Optional.这样,您的查询方法将返回包含找到的对象的Optional或空的Optional.可选是使用非null值替换可空T引用的方法,请参阅示例: Optional<User> findById(Long id); 我希望我能帮助你. =) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |