0

我相信,与 AspectJ 相比,这更像是与 Spring JPA(Hibernate)相关的问题。

Spring Boot v2.2.2.RELEASE、Spring v5.2.2.RELEASE、Hibernate v5.4.9.Final、Spring 数据存储库

我正在尝试在我现有的单租户应用程序中实现多租户。

  • 租户由用户通过前端选择。租户 ID 存储在 HttpSession 中。
  • Rest Controller 方法的建议,读取租户 ID 并将其保存在 ThreadLocal 变量中。

现在我必须使用租户 ID 启用休眠过滤器。为此,我的存储库(接口扩展 JpaRepository)方法的 AspectJ 建议有效,但会为来自服务的每个存储库方法调用执行。

这篇文章是关于以下(相同的)实现,其中启用 Hibernate 过滤器的建议在从 HttpSession 读取租户 id 的建议之前被触发。如何更正订单?读取租户 ID 的建议不会进行任何存储库调用。

我尝试设置应用程序属性 spring.jpa.open-in-view=false,但这没有帮助。

4

0 回答 0