我正在尝试在程序启动时更改默认数据库。首先,我从默认数据库(main_database)开始,然后选择一些表,然后更改为另一个表(second_database)。
我使用此代码,但不起作用:
self.gui.table_widget.cellChanged.connect(self.cell_changed)
@pyqtSlot()
def cell_changed(self):
try:
self.cell = self.gui.table_widget.currentItem()
self.triggered = self.cell.text()
print(self.triggered)
except:
pass
但似乎getResultList仅适用于Selects。
我该如何解决这个问题?
我正在使用Spring Boot和JPA。
谢谢!
解决方案:
租期(针对Spring Boot和JPA): https://javadeveloperzone.com/spring-boot/spring-boot-jpa-multi-tenancy-example/
答案 0 :(得分:1)
我可以想到两种选择,但这都取决于您的用例:
您正在使用31个子数据库,但是是否需要访问它们的所有数据?如果无法解决此问题(例如,您将来希望从这31个数据库之一访问任意表),则不能进行实时取景。
如果确定您的应用程序所需的所有数据都是-从DB 1-表A和B;来自DB2-表C;从DB3-表D和E;等等-这可能是创建视图的好方法。 您还应该考虑表数据的大小和要执行的操作(例如,只读还是写?)
您可以将休眠配置为在不同的数据库中执行查询。
您需要注意以下事项:
多租户策略-MySql使用MultiTenancyStrategy.DATABASE
可以通过hibernate.multi_tenant_connection_provider属性传递的MultiTenancyConnectionProvider
实现
可以通过hibernate.tenant_identifier_resolver属性传递的CurrentTenantIdentifierResolver
实现
您可以按照official doc进行操作,以获取更多详细信息和代码示例,以及大师亲自提供的出色的hands-on article。