postgresql - 如何创建其他数据库的休眠视图?
问题描述
早上好,我有问题!
我的项目是多租户的,我使用 SPRING JPA + SPRINGBOOT + POSTGRES。它包含一个数据库管理器,每个租户都有自己的数据库。
当我在租户的数据库中查看数据管理器数据库时,问题就开始了。
例如,在数据库管理器中,我有信息可以让租户的用户登录。但是在每个租户的数据库中应该能够拥有他们用户的信息。租户数据库中的用户可以拥有更多数据!
做这个的最好方式是什么?我应该创建视图吗?
另外,这个应用程序很受欢迎,所以这个想法是数据库的使用是相当动态的。
先感谢您!任何贡献都会有所帮助。
解决方案
是的,最好的解决方案是创建视图,您可以在其中获取所需的所有数据,并且已经为租户过滤了数据。
编辑:
您必须在数据库上创建视图,然后将其映射到只读实体或仅将其与 SQL 一起使用。
要拥有只读实体,您可以使用 Hibernates@Immutable
注释。
请在 Hibernate 文档中找到更多信息:https ://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html#entity-immutability
推荐阅读
- dockerfile - 正确的组织管道与 docker 图像
- javascript - 在 Coldfusion 网页中重新设置隐藏字段的值
- python - 为什么我会收到 TypeError: unsupported operand type(s) for /: 'int' and 'builtin_function_or_method'
- python - Python中的zabo create_user api
- javascript - 我们如何将每个内容的评论放在我们自己的内容下?
- linux - zsh权限被拒绝问题有什么解决办法吗
- javascript - 用户如何从 Spring Boot 应用程序的其余部分获取客户端?
- oracle - 管道函数oracle中的动态sql
- flutter - 使用cubit订阅,需要创建Timer(streamsubscription with cubit flutter)
- lisp - 自动将矩形转换为已知度数的凹弧