首页 > 解决方案 > 如何创建其他数据库的休眠视图?

问题描述

早上好,我有问题!

我的项目是多租户的,我使用 SPRING JPA + SPRINGBOOT + POSTGRES。它包含一个数据库管理器,每个租户都有自己的数据库。

当我在租户的数据库中查看数据管理器数据库时,问题就开始了。

例如,在数据库管理器中,我有信息可以让租户的用户登录。但是在每个租户的数据库中应该能够拥有他们用户的信息。租户数据库中的用户可以拥有更多数据!

做这个的最好方式是什么?我应该创建视图吗?

另外,这个应用程序很受欢迎,所以这个想法是数据库的使用是相当动态的。

先感谢您!任何贡献都会有所帮助。

标签: postgresqlhibernatespring-bootview

解决方案


是的,最好的解决方案是创建视图,您可以在其中获取所需的所有数据,并且已经为租户过滤了数据。

编辑:

您必须在数据库上创建视图,然后将其映射到只读实体或仅将其与 SQL 一起使用。

要拥有只读实体,您可以使用 Hibernates@Immutable注释。

请在 Hibernate 文档中找到更多信息:https ://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#entity-immutability


推荐阅读