是否可以要求Hibernate从.hbm.xml文件创建表?

时间:2012-02-25 16:56:22

标签: java hibernate

我想开发一个数据库结构,其中每个“对象”都将放在自己的表中。比如,对象是“house”,“car”等。表的结构对于每个对象是相同的。表以这种方式命名:公共前缀和对象名称。此外,每个对象都有两个以一对多关系的关联表。

为此,我创建了一个命名策略,该策略根据对象的名称返回物理表的名称。

问题是我可以收到一个没有表的对象,所以我需要创建它。我尝试使用直接SQL查询,它在向表中添加一些外来关系之前工作正常。现在我收到以下异常:

Exception in thread "main" org.hibernate.DuplicateMappingException:  Table [INV_OBJECT_ATTRIBS] contains logical column name [id] referenced by
multiple physical column names: [INV_ATTRIB_ID], [INV_KEY_ID]

我的问题是:

是否可以从代码中请求Hibernate创建基于.hbm.xml文件的表?像session->createTableFromXML(...)

这样的东西

1 个答案:

答案 0 :(得分:2)

是的,请查看Hibernate架构生成工具hbm2ddl:

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/toolsetguide.html