Hibernate中的动态表名

时间:2010-12-22 18:12:34

标签: java database hibernate

我正在用Java开发一个使用Hibernate连接MySQL数据库的应用程序。

我的应用程序管理不同批次的学生。如果学生在2010年加入,那么他们将处于2010批次,因此每当应用程序的管理员创建新批处理时,我的应用程序都必须为该批处理创建新表。虽然该方案更像是数据库中已存在的旧表,但表名更改。如何使用Hibernate实现这一目标?

如何动态创建XML文件和类?

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,我想你想检查一下Hibernate Shards。请注意,这是一项高级功能,不受支持且未经过实际测试(也未进行维护)。因此,使用它需要您自担风险。您可能需要特别注意“碎片选择策略”部分:

http://docs.jboss.org/hibernate/stable/shards/reference/en/html_single/#shards-strategy-shardselection

来自文档:

  

我们希望许多应用程序都希望实现基于属性的分片,因此对于我们存储天气报告的示例应用程序,让报告来源的各大洲的分片报告

但正如其他人所说:在分割数据之前要三思而后行。只有当您期望真正大量的数据时才这样做。几百万条记录并不是那么多。