【问题标题】:Spring Boot - Avoid update DB when using settersSpring Boot - 使用设置器时避免更新数据库
【发布时间】:2021-07-07 18:14:29
【问题描述】:

我想在不更新数据库的情况下使用我的实体的设置器。

credentials.setPassword(null);
return credentials;

在执行此操作时,它会自动更新数据库并将密码设置为空。 我想返回密码为空的对象凭据,而不更新数据库

有人知道怎么做吗?

【问题讨论】:

标签: java mysql spring-boot api setter


【解决方案1】:

如果实体仍然与会话相关联,那么当实体参数发生变化时,就有可能更新数据库表。 详情请参阅this 帖子。

确保实体已分离,然后进行更改或将 DTO 与您想要传递到 UI 或目标的信息一起使用。

【讨论】:

    【解决方案2】:

    您可以(并且也许应该)将此Entity 转换为DTO,然后再将其暴露在您发送数据的任何地方。这样你就可以满足你想要的任何要求(比如不暴露密码)而不更新你的数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-22
      • 2016-12-11
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多