java-覆盖Pageable findAll以在Spring Data Rest中选择较少的列
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-覆盖Pageable findAll以在Spring Data Rest中选择较少的列,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1150字,纯文字阅读大概需要2分钟。
内容图文
![java-覆盖Pageable findAll以在Spring Data Rest中选择较少的列](/upload/InfoBanner/zyjiaocheng/661/9147c89535b643679b63cc7e2446286a.jpg)
当转到从Spring数据库中的/ api页面发现的页面时,如何覆盖spring数据存储库以仅选择选定的列.
我添加了findAll如下-
public interface UserRepository extends BaseRepository<User, Integer>, UserRepositoryCustom {
@Query("select u from User u where email = :email and password = :password")
@Cacheable(value = "user-cache", key = "#user.login")
@RestResource(exported = false)
public User findUserByEmailAndPassword(@Param("email") String email, @Param("password") String password);
@RestResource(rel = "byEmail", path = "byEmail")
public User findUserByEmail(@Param("email") String email);
@RestResource(rel = "byPhone", path = "byPhone")
public User findUserByPhone(@Param("phone") String phone);
@Override
@Query("select u.id,u.email,u.phone from User u ")
public Page<User> findAll(Pageable pageable);
}
/ api / users提供了一个错误-
{"cause":null,"message":"PersistentEntity must not be null!"}
解决方法:
我在与User相同的包中创建了UserSummaryProjection类
@Projection(name = "summary", types = User.class)
public interface UserSummaryProjection {
Integer getId();
String getEmail();
}
然后,转到/ api / users或/ users / 3?projection = summary即可得到所需的结果,而无需更改存储库.
内容总结
以上是互联网集市为您收集整理的java-覆盖Pageable findAll以在Spring Data Rest中选择较少的列全部内容,希望文章能够帮你解决java-覆盖Pageable findAll以在Spring Data Rest中选择较少的列所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。