在执行 @Modifying 查询(例如更新、插入、删除)之前,我需要做一些检查。 有什么办法可以在存储库级别做到这一点吗? (也许带有注释)。 我正在寻找的是一个过滤器,每次执行查询时都必须执行该过滤器,并决定是否必须对我的所有存储库文件执行查询。
谢谢
最佳答案
您可以使用 AspectJ 拦截 JPA 存储库上的方法调用。
第 1 步:照常声明您的 JPA 存储库。
第 2 步:可以选择注释感兴趣的存储库方法。
第 3 步:声明一个方面来拦截 JPA 存储库上感兴趣的方法调用。请参阅this Aspect以我的示例应用程序为例。
第 4 步:在 Spring 配置中启用运行时拦截。请参阅the XML Spring configuration file以同一示例应用程序为例。
关于Java JPA 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34954322/