java - 如何返回 Spring Boot 中模型中不存在的字段?

标签 java spring spring-boot spring-data hibernate-mapping

所以我有一个用例,我想返回表中所有行的特定属性。但该属性在表中不存在。它应该是动态生成的。

例如 - 名为 Student 的表 - 具有以下属性 * ID * 姓名

现在,当我使用此模型类的存储库时,我想返回所有数据行,包括 IDName,但还附加另一个名为 的属性>URL 以及每一行。所以输出将是 -

  • 身份证
  • 姓名
  • 网址

URL 的数据可以即时生成 - 比如 = "example.com/"+ID

我该如何进行?

该实体的相同模型/存储库/服务类如下 -

实体学生

@Entity
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public class StudentDetail {

            @Id
            private Long ID;
            private String Name; 

    }

存储库

@Repository
public interface StudentDetail  extends JpaRepository<StudentDetail , Integer> {

}

服务

@Override
    public List<StudentDetail> getStudentDetails() {
        List<StudentDetail> studentDetail = studentDetailsRepository.findAll();
        return studentDetail;
    }

该服务将返回仅具有 IDName 属性的所有行。如何计算存储库中的 URL 参数?

最佳答案

您可以添加一个 transient 字段(这意味着,它不会映射到任何列并保留):

public class StudentDetail {

        @Id
        private Long ID;
        private String Name;
        @Transient
        private String url = // Here comes your implementation

}

关于java - 如何返回 Spring Boot 中模型中不存在的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55422484/

相关文章:

java - 在Spring Controller Spring Boot中提供jsp页面时出错?

java - @RestController 和 @ModelAttribute 使用自定义 setter

java - Jackson JSON 不包装嵌套对象的属性

java - typeMismatch.java.util.List 尝试设置列表时

java - Eclipse 中的方法重构

java - 使用 SolrJ 客户端连接器 3.6 连接到 Solr 1.4

java - ccrypt不会解密ccrypt-j加密的文件

java - 使用循环计算阶乘数,Java

java - Spring Boot Log4j2 配置日志大小维护问题

angularjs - Angular http 和 Spring Boot Rest 服务