Wir haben eine webbasierte Enterprise-Anwendung mit mehreren Mandanten, die Hibernate über MySQL verwendet. Wir verwenden Jasper Reports für alle Berichte, die unsere Kunden benötigen, aber jetzt müssen wir auch Ad-hoc-Berichte anbieten, damit Benutzer ihre eigenen Abfragen ausführen können.Berichterstellung für Multi-Tenant-Webanwendung
Wie haben andere das erreicht?
Ich denke, dass ich haben folgende Möglichkeiten:
einen vollständigen Export in Excel-Bereitstellung oder xml Format, bei dem ich die Entitäten Hydrat, so dass jede
@ManyToOne
mit demtoString()
dieser Einheit ersetzt wird. Dies wäre so, dass die Daten für den Benutzer tatsächlich sinnvoll sind und nicht eine ganze Menge von Fremdschlüssel-IDs.Lassen Sie sie SQL gegen eine Datenbankkopie ausführen. Stellen Sie sicher, dass jede Tabelle eine TENANT_ID hat, lassen Sie sie auf die Datenbankkopie zugreifen, aber hängen Sie die ID an jede Abfrage hinter den Kulissen an. Ich konnte sogar sicherstellen, dass diese Datenbankkopie nur ihre Daten enthielt. Die Art des Multi-Tenant-Ansatzes wird jedoch in gewisser Weise abgelehnt.