如何创建其他数据库的休眠视图?

时间:2019-06-10 14:11:13

标签: postgresql hibernate spring-boot view

早上好,我遇到了问题!

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

问题开始于租户的数据库内部,我对数据管理器数据库有意见。

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

做到这一点的最佳方法是什么?我应该创建视图吗?

此外,此应用程序非常流行,因此其想法是数据库的使用非常动态。

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

1 个答案:

答案 0 :(得分:0)

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

编辑:

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

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

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