spring data jpa怎么做到只查询部分字段而不返回全部字段?

使用 spring-data 的 projection 即可:

public interface UserDto {
  Integer getId();
  String getUsername();
  String getPassword();
}

public interface UserRepository extends JpaRepository<User, Integer> {
  // smart way
  List<UserDto> findBy...(...);

  // 或者使用自定义查询
  @Query("select id, username, password from User where ...")
  List<UserDto> findUserDto(...);
}

https://segmentfault.com/q/1010000016704304/