【发布时间】:2026-02-11 12:45:01
【问题描述】:
我正在使用 Hibernate 租赁,每次用户登录时,我都会将数据库更改为他的用户名 (SQLite)。遗憾的是,有时数据库不存在,我需要创建它。
问题是我不知道如何在运行时在数据库中创建所有表。
通常 Hibernete 用这个为我创建数据库:
<property name="hibernate.hbm2ddl.auto">update</property>
【问题讨论】:
-
从头开始创建一个新的
SessionFactory,就像创建初始的一样? -
session = sessionFactory.withOptions().tenantIdentifier("tenancy_id").openSession();
-
我认为打开会话时不会运行数据库更新。它在您创建
SessionFactory时运行。切换数据库时,您必须摆脱旧工厂,重新创建它。我不知道在哪里这样做,因为我不知道你在哪里做现在。 -
希望对您有所帮助。这个对我有用。 *.com/questions/21069687/…