另一个体系结构,更复杂但更优雅:
是的 ,您可以使用 NamingStrategies 更改表名称:
public class MyNamingStrategy extends DefaultNamingStrategy { ... @Override public String tableName(String tableName) { return tableName+yearSuffixTable; } ...}而且,当您想使用_year表时,必须使用Hibernate创建一个覆盖rhe表名称的会话:
SessionFactory sessionFactory; Configuration config = new AnnotationConfiguration() .configure("hibernate.cfg.xml") .setNamingStrategy( new MyNamingStrategy () ); sessionFactory = config.buildSessionFactory(); session = sessionFactory.openSession();对于我的体系结构,我每年创建一个会话,并将其存储到应用程序映射中以在需要时进行访问。
谢谢。



