Hibernate动态建表

背景:由于项目特殊的应用场景,需要实现一个动态创建表的功能。

基本思路:
查了一些资料同时结合到项目里用到了hibernate,就想到利用hibernate的SchemaExport 来实现动态建表

  • 设计两个javabean:FormTable(表的基本属性)、ColumnAttribute(列的基本属性),实现一对多的关系
  • Freemarker 可以根据定义好的模板生成 hibernate配置文件

提供完整的源代码下载见附件:dynamic_db_table

lib文件比较多,就不提供了下载了,提供一个lib文件的截图如下

dynamic-tab-lib

下面是本人测试的主要代码的片段:

TableGenerator.java:

Hibernate配置模板template.hb.ftl:

运行的log信息如下:

生成的脚本文件d:/test/table.sql:

本程序是在mysql5上测试的:

运行测试代码后查看表情况:

从上面截图比较可见已经成功创建好表: tb_gen.

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/j2ee/hibernate/hibernate-dynamic-table/

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">