gpt4 book ai didi

java - 在删除之前首先检查数据库是否存在实体是有意义的,例如使用 Spring

转载 作者:行者123 更新时间:2023-12-02 09:12:40 25 4
gpt4 key购买 nike

例如,在 Spring/SpringBoot 中,您可以使用 Spring Data JPA 在数据库中添加和删除数据。

在删除实体之前首先检查实体是否存在有意义吗?这样做有什么优点或缺点?

最佳答案

一般来说,在做某事之前首先检查是一个坏主意,例如,在打开文件之前检查文件是否存在,或者在这种情况下,在删除数据库中的记录之前检查它是否存在。大多数(如果不是全部)系统都是多线程、多用户系统,仅仅因为文件一毫秒前存在并不意味着当您尝试打开它时它仍然存在,并且仅仅因为表中的一行存在一毫秒之前并不意味着当您尝试删除它时它仍然存在。

例如,当您检查并正要提交事务时,其他进程或线程可能正在删除它。您检查该行;你看到它存在。事务被提交。您尝试删除它,但失败,因为没有这样的行。

无论进行多少提前检查都无法避免失败。因此,您总是必须处理发生故障的情况。因此,最好只是尝试该操作并处理失败的情况。

关于java - 在删除之前首先检查数据库是否存在实体是有意义的,例如使用 Spring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59271549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com