当前位置: 首页 > 知识库问答 >
问题:

Spring Boot-使用setters时避免更新DB

岳永思
2023-03-14

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

credentials.setPassword(null);
return credentials;

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

有人知道怎么做吗?

共有2个答案

蓬野
2023-03-14

如果实体仍然与会话相关联,那么当实体参数发生变化时,有可能更新数据库表。有关更多详细信息,请参阅这篇文章。

确保实体已分离,然后对要传递给UI或目标的信息进行更改或使用DTO。

耿运浩
2023-03-14

你可以(也许应该)将这个实体转换成DTO,然后将其暴露在你发送数据的任何地方。这样,您就可以满足任何需要(比如不公开密码),而无需更新数据库。

 类似资料:
  • 我想更新表中几行的主键。如果所有行都已更新,则键将再次是唯一的,但第一行的更新会导致与第二行的键发生临时冲突。有没有优雅的方法来解决这个问题? 例子: 错误:重复的键值违反了唯一约束“pk_erichtest”

  • 我一直收到NoClassDefoundError错误。我试图使用JavaMail API发送电子邮件,但当我使用SMTPMessage类创建Message实例时发生错误。 我知道我需要激活库,但它还是不起作用。 错误发生在这段代码的第一行。 堆栈跟踪

  • react 如何使用useCallback 避免全量更新? 在子组件的事件中使用useCallback 父组件 list.map 创建了子组件, 子组件触发事件导致 父组件的 list 发生变更, 于是组件全部发生了变化 这个过程中只有其中一个子组件发生了改变,所以我使用了 memo 包裹了一下 但是 传递的事件函数会重复创建,导致子组件全量更新 我应该如何使用useCallback 来实现顶点更

  • 问题内容: 我有一个带有标题的表,一个带有输入字段的行,一个带有数据的行。像这样。http://brow.hu/sitegen/stackoverflow_table_example.png 如果有人在输入字段中输入内容,我想使用ajax查询过滤数据。收到新表后,我更改了旧表的内容: 并闪烁。如何避免呢? 问题答案: 避免闪烁的一种方法称为双缓冲。在Ajax中,只需两个div占用相同的空间即可完成

  • 让我们看一下使用两种不同的方式去计算单词的个数,第一种方式使用 reduceByKey 另外一种方式使用 groupByKey: val words = Array("one", "two", "two", "three", "three", "three") val wordPairsRDD = sc.parallelize(words).map(word => (word, 1)) val

  • null本身不是对象,也不是Objcet的实例 问题: null代表不确定的对象, 是一个很模糊的概念, 容易产生二义性 Map.get(key)若返回value值为null,其代表的含义可能是该键指向的value值是null,亦或者该键在map中并不存在 优点: 从内存消耗和效率方面,null更加廉价 优化: Optional com.google.common.base.Optional Op