2

我们如何添加更多实体来休眠?Mine 是一个基于 spring 和 hibernate 的独立应用程序。

我有关于新实体的类文件的元数据。如何在不重新启动或更改配置 XML 文件的情况下将它们添加到休眠会话工厂?

所有的映射都由 hibernate 自己管理。并且只有像连接参数这样的配置是在 XML 中维护的。

简而言之,如果我有实体的类文件位置,我如何指示 hibernate 从那里拾取实体,而无需重新启动或更改配置文件?

谢谢。

4

2 回答 2

3

从休眠文档

SessionFactory 的内部状态是不可变的。一旦它被创建,这个内部状态就会被设置。此内部状态包括有关对象/关系映射的所有元数据。

您可以做的是为每组动态加载的实体设置一个单独的 SessionFactory。创建一个配置并将您的新类添加到其中。使用它来创建一个新的 SessionFactoryEntityManagerFactory

于 2012-07-21T03:52:32.003 回答
3

这样做的方法如下:

Configuration configuration = new Configuration().configure("hibernate.cfg.xml"); // base configuration

configuration.addAnnotatedClass(MyClass1.class); // @Entity classes
configuration.addAnnotatedClass(MyClass2.class);
configuration.addAnnotatedClass(MyClassN.class);

Session session = configuration.buildSessionFactory().openSession();
// Work with session...
于 2018-09-09T20:41:49.920 回答