开发者

Dynamic table name in Hibernate

I am developing an application in Java that uses Hibernate to connect to MySQL database.

My application manages students of different batches. If a student joined in 2010 then they are in the 2010 batch, so whenever the administrators of the application create a new batch, my application has to create new tables for that batch. While the scheme is mu开发者_开发技巧ch more like the old tables that are already there in the database, the table name changes. How do I accomplish this using Hibernate?

How do I create the XML files and the classes required dynamically?


If I understood your problem right, I think you want to check Hibernate Shards. Note that this is an advanced feature, unsupported and not really tested (nor maintained). So, use it at your own risk. You may want to pay special attention to the "Shard Selection Strategy" section:

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

From the documentation:

We expect many applications will want to implement attribute-based sharding, so for our example application that stores weather reports let's shard reports by the continents on which the reports originate

But as the others said: think twice before splitting your data. Do it only if you expect really large volumes of data. A couple million records are not really that much.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜