我们有一个使用 Hibernate over MySQL 的多租户基于 Web 的企业应用程序。我们将 Jasper 报告用于客户需要的任何报告,但现在我们还需要提供临时报告,以便用户可以运行自己的查询。
其他人是如何做到这一点的?
我想我可以:
提供 excel 或 xml 格式的完整导出,我在其中对实体进行水合,以便将任何
@ManyToOne
内容替换toString()
为该实体的。这样数据对用户来说实际上是有意义的,而不是大量的外键 ID。让他们针对数据库副本运行 SQL。确保每个表都有一个 TENANT_ID,让他们访问数据库副本,但将 ID 附加到幕后的每个查询中。我什至可以确保这个数据库副本中只有他们的数据。虽然有点打败了整个多租户方法。