gpt4 book ai didi

java - Spring Repository 删除规范

转载 作者:行者123 更新时间:2023-12-01 12:13:33 26 4
gpt4 key购买 nike

Spring 的CrudRepository提供了一些删除方法,而 JpaSpecificationExecutor才不是。我想根据 Specification 删除——就像我在做查询一样。有没有办法做到这一点?

理由:我想确保用户在删除期间拥有资源,而不是允许根据 id 直接访问资源(参见 https://www.owasp.org/index.php/Top_10_2013-A4-Insecure_Direct_Object_References)。

我看到的选项:

  • 使用 @Query在存储库中的自定义删除方法上。类似 delete from Entity e where e in (select e from Entity e where ...) .这工作正常,但我想重用其他代码而不必手动创建查询。
  • 获取实体然后删除它们。当可以一次性完成时,这似乎是一种获取然后删除的浪费。
  • 最佳答案

    它的简单你可以使用 List<YourReturnType> result = yourRepository.findAll(specification);查询您的记录,然后使用 yourRepository.deleteAll(result);删除所有这些记录。

    关于java - Spring Repository 删除规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35303043/

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