【发布时间】:2010-12-22 18:12:34
【问题描述】:
我正在用 Java 开发一个使用 Hibernate 连接到 MySQL 数据库的应用程序。
我的应用程序管理不同批次的学生。如果一个学生在 2010 年加入,那么他们就在 2010 年批次中,因此每当应用程序的管理员创建一个新批次时,我的应用程序都必须为该批次创建新表。虽然该方案更像数据库中已经存在的旧表,但表名会发生变化。如何使用 Hibernate 完成此任务?
如何动态创建 XML 文件和所需的类?
【问题讨论】:
-
检查帕斯卡的回答here
-
您确定要创建新表吗?添加新数据时复制表只是糟糕的数据库设计。将您的设计重新考虑为更具关系的数据库方法;)
-
这闻起来像是一个糟糕的设计。例如,为什么不能制作批次表并将批次附加到学生。
-
您是否有理由无法将
BATCH_YEAR列添加到学生表并以这种方式批量查询某些内容? -
不要每批使用不同的表。这种方式会导致无穷无尽的性能问题、查询问题和数据完整性问题。通常,您不希望即时生成表格。而 70,000 X 30 只有大约 2,100,000 条记录,这是一个很小的数据库表。任何正确索引的数据库都可以轻松处理。