2012-02-25 78 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

相關問題