是否可以自定义为Spring Data REST生成的findAll和findById生成的默认查询?例如,选择列的子集,因为我发现设置@JsonIgnore不会在生成的查询中更改SELECT列本身。
搜索查询可以通过@Query进行自定义,但不确定如何处理其他链接,例如所有用户或用户/ {id}
答案 0 :(得分:2)
如您所说,搜索查询可以通过@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> {}