2012-02-25 46 views
1

我想开发一个数据库结构,每一个“对象”将在其自己的表走。说,对象是“家”,“汽车”等的表的结构是为每个对象是相同的。这些表格以这种方式命名:通用前缀和对象的名称。同样,每个对象都有两个关联表,它们是一对多的关系。是否有可能让Hibernate从的.hbm.xml文件中创建表?

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

的问题是,我可以收到一个没有表所以我需要创建一个对象。我试着用直接的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(...)

回答

2

是的,看看休眠模式生成工具就是hbm2ddl:

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

+0

我的意思是手动创建,从内部代码。 – 2012-02-25 17:02:00

+2

@马丁季米特洛夫:如果你读挂料,您正在搜索的部分是靠近: – 2012-02-25 19:16:49

+0

感谢@Mikko Maunu“你甚至可以在你的应用程序中嵌入SchemaExport”,我不知道我可以嵌入这些工具。我会试试看。 – 2012-02-25 21:42:04

相关问题