我们如何向hibernate添加更多实体?我的是一个基于spring和hibernate构建的独立应用程序。
我有关于新实体的类文件的元数据。如何在不重新启动或更改confugation XML文件的情况下将它们添加到hibernate会话工厂?
所有映射都由hibernate本身管理。并且只有连接参数等配置在XML中维护。
简而言之,如果我有实体的类文件位置,我如何指示hibernate从那里拾取实体,而无需重新启动或更改配置文件? < / em>的
感谢。
答案 0 :(得分:2)
来自Hibernate docs:
SessionFactory的内部状态是不可变的。创建后,将设置此内部状态。此内部状态包括有关对象/关系映射的所有元数据。
您可以为每组动态加载的实体设置单独的SessionFactory。为其创建Configuration和add your new classes。用它来创建new SessionFactory或EntityManagerFactory。
答案 1 :(得分:1)
执行此操作的方式如下:
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...