如何在 spring 查询创建中收集特定字段?

how to collect specific field in spring query creation?

我为用户创建了 spring api 他们可以使用旧密码和公司来获取新用户名和密码。我们如何在 Spring 查询创建中 select 特定字段?

我这样创建了 repo:

@Repository
public interface UserRepository extends JpaRepository<User, String> {

    List<User> findUserByCompanyAndOldUsername(String company, String oldUsername);

}

我 return 我的行表的数据是这样的:

@GetMapping("/index")
public ResponseEntity<List<User>> getUserByCompanyAndOldUsername(@RequestParam String company,
                                                                 @RequestParam String oldUsername){
    return new ResponseEntity<>(userRepository.findUserByCompanyAndOldUsername(company, oldUsername), HttpStatus.OK);
}

结果:

  {
    "id": 1,
    "oldUsername": "FDIFSA00101",
    "customerKey": "FRIFSA00101",
    "company": "FRI",
    "newUser": "FSA00101",
    "oldPassword": "adHjzxiEpvrjVPE6OhzkeiinNZt3/H7SjpKEI/LHqBAJ0MAZD6O2",
    "newPassword": "Password"
  }

我只需要 newUser 和 newPassword 数据显示在 thymeleaf html 页面上,而不是所有数据。我该怎么做?

在反序列化到您的 dto 时忽略这些字段。您可以使用:

@JsonIgnore
@JsonProperty(value = "field_name")

在字段上方或您不希望在响应中看到任何值的 getter 方法之前使用这些注释。它应该有效。

注意:对于驼峰命名,请遵循以下样式:firstNamefirst_name