它可以动态完成,但有些混乱:
在建立SessionFactory之前,您需要动态更改Hibernate的Configuration对象。如果您使用的是Spring,则可以通过覆盖;的
postProcessAnnotationConfiguration()方法来完成
AnnotationSessionFactoryBean。否则,您只需要在调用
buildSessionFactory()它之前使用Configuration对象即可完成此操作。
如果您需要在不重新启动应用程序的情况下执行此操作,则可以查看是重建SessionFactory(这意味着您的用户将不得不等到完成此操作),或者使用专门用于自定义类的单独SessionFactory实例(这几乎是不可能的)如果您的自定义类需要引用您的内置类)。
您可以通过访问类/表映射
configuration.getMappings()。然后,您需要通过Table
API创建一个新的表映射,并通过将其添加到配置中
addTable()。代表类映射的PersistentClass必须做同样的事情。如果您使用同一类表示多个实体(例如,映射多个表),请确保为每个实体使用唯一的实体名称。每次重新启动应用程序时,都必须执行此操作(更改配置)。



