如何从hbm文件动态创建表?
我的产品有多个客户。为了添加新的客户端,客户端将提供hbm
映射文件来存储数据。(每个客户端具有不同的数据和表)。
添加新客户端时,将调用带有hbm
文件位置的REST api。
hibernate如何通过动态读取hbm文件来创建表?
发布于 2019-06-07 10:05:29
嗨,这将是一个两步的过程。
hibernate.hbm2ddl.auto
在同一个配置文件中,您需要引用传入的文件。您可以使用一些模板魔术,或者您也可以添加传入的编程式。你需要检查一下。你可以自己检查如何做得最好,我相信在hibernate 4中你可以在编程上做到这一点。
发布于 2019-06-07 10:32:00
动态加载hbm文件的示例代码:
public class LoadHBMFile {
private static final SessionFactory session = createSession();
private static SessionFactory createSession() {
try {
SessionFactory sessionFactory = new Configuration()
.configure("hibernate.cfg.xml")
.addResource("{full path}/demo.hbm.xml")
.buildSessionFactory();
return sessionFactory;
} catch (Throwable ex) {
System.out.println("Failed" + ex);
}
}
/* To get the sessionfactory */
public static SessionFactory getSession() {
return session;
}
/* To close the sessionfactory */
public static void shutdown() {
getSession().close();
}
}
希望这能有所帮助:)
https://stackoverflow.com/questions/56491929
复制