从hibernate 3版本迁移到4版本期间,我遇到了问题。 我在我的项目中使用spring和hibernate,并且在我的应用程序启动期间,有时我想更改我的实体类的模式。随着3.0版本Hibernate和Spring我通过重写postProcessConfiguration方法LocalSessionFactortBean类是这样做的:在sessionFactory官方化之前更改实体架构名称
@SuppressWarnings("unchecked")
@Override
protected void postProcessAnnotationConfiguration(AnnotationConfiguration config)
{
Iterator<Table> it = config.getTableMappings();
while (it.hasNext())
{
Table table = it.next();
table.setSchema(schemaConfigurator.getSchemaName(table.getSchema()));
}
}
这项工作非常适合我。但是在hibernate4.LocalSessionFactoryBean类中所有后期处理方法都被删除了。有些人建议使用ServiceRegistryBuilder
类,但我想为我的会话工厂使用spring xml配置,并且使用ServiceRegistryBuilder
类,我不知道如何执行此操作。所以可能有人建议我的问题的任何解决方案。