gpt4 book ai didi

java - 在查询中纳入特定检查的最佳实践 - 需要专家意见

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

我正在开发一个 JavaEE 应用程序。我们在 Spring MVC、JPA、Gradle 和 PostgreSQL 上开发了它。

我使用以下方法从表中选择特定结果集:

select * from table_name

我想要做的是,我想基本上排除status列具有值PERMANENTLY_DELETE的所有记录

select * 
from table_name
where column_name!='PERMANENTLY_DELETE'

该应用程序非常大,我在整个应用程序中有许多复杂的连接。我必须在所有查询中添加集成此检查以合并更改。

一种方法是每次点击表时更新标准,另一种方法是编写拦截器,但这需要非常小心地完成,因为我需要在所有现有的连接中都有这个东西。

如果您的 ERP 中有大约 500 多个查询,并且需要在整个应用程序中集成此类检查,那么解决此类问题的最佳方法是什么?

编辑:我正在使用 JPA,它不仅仅是一个普通的查询,所以我无法使用 View 来解决这个问题。

最佳答案

实现全面过滤的常用技术是使用View。您必须create the view然后只需在代码中执行一次彻底的搜索/替换,将对旧的未过滤表的所有引用替换为您创建的View

CREATE VIEW not_deleted AS
SELECT *
FROM table_name
WHERE where column_name!='PERMANENTLY_DELETE';

然后将 table_name 的所有访问权限替换为 not_deleted 即可完成。

关于java - 在查询中纳入特定检查的最佳实践 - 需要专家意见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33083279/

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