【问题标题】:How to ignore a field from DB [closed]如何忽略数据库中的字段[关闭]
【发布时间】:2021-09-02 02:37:51
【问题描述】:

我在 DB 中有一个人员列表,每个人都有一个 CV 字段,它是 Spring 中的 MultiPart 文件。我试图从 db 中获取所有人,但忽略 CV 字段,因为我不想在使用 getAllPerson 函数时被下载。有可能吗?

【问题讨论】:

    标签: java spring spring-boot rest spring-data-jpa


    【解决方案1】:

    是的,你可以。 您必须使用 get 方法为您的指定字段创建一个新接口,如下所示。

    interface Person{
        String getId();
        String getName();
    }
    

    然后通过提及您的新Person 对象,为您的存储库创建一个获取数据列表的方法,如下所示。

    List<Person> findAllWithoutCV();
    

    【讨论】:

      【解决方案2】:

      如果您只想在序列化为 JSON 时忽略某个字段,您可以使用@JsonIgnore 标签。

      如果您想在 Json 上包含它而不是在 Jpa 上包含它,请使用 @Transient@JsonInclude 标签。

      如果您不想每次获取元素时都从数据库中读取特定字段,那么您可以在该字段上使用Lazy loading。然后,只有当您对该字段使用 getter 时,您才会从数据库中检索它。

      最后,如果你想对 JSON 进行不同的序列化,你可以使用JSON Views。这将允许您定义同一对象的不同视图,并在序列化时选择要使用的视图。

      所有这些工具都可以协调使用以实现您想要的任何东西。

      【讨论】:

        【解决方案3】:

        使用 @JsonIgnore 直接在字段上注解:

        【讨论】:

          猜你喜欢
          • 2014-12-24
          • 1970-01-01
          • 2019-02-05
          • 2011-01-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-19
          • 2019-05-05
          相关资源
          最近更新 更多