繁体   English   中英

自定义Spring Data REST生成的默认查询

[英]Customize default queries generated by Spring Data REST

是否可以自定义为Spring Data REST生成的findAll和findById生成的默认查询? 例如,选择columns的子集,因为我发现设置@JsonIgnore不会更改生成的查询中的SELECT列本身。

可以通过@Query自定义搜索查询,但不确定如何处理所有用户或其他用户/ {id}的其他链接

如您所说,搜索查询可以通过@Query进行自定义,因此您可以在接口声明中使用Query注释覆盖默认方法

    public interface UserRepository extends JpaRepository<User, Long> {

       @Query("select u from User u where u.firstname like %?1")
       List<User> findAll();

       @Query("select u from User u where u.id == %?1")
       User findById(String id);
    }

如果要选择列的子集,我建议创建带有公共列的新实体,该实体将映射到与内部表示相同的表。

   class UserPublic
   ... public fields;

并基于新的实体存储库开放API

    public interface UserPublicRepository extends JpaRepository<UserPublic, Long> {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM