2012-02-25 6 views
1

すべての "オブジェクト"が独自のテーブルに入るDB構造を開発したいと思います。オブジェクトは「家」、「車」などです。表の構造はオブジェクトごとに同じです。表の名前は共通接頭辞とオブジェクトの名前になります。また、すべてのオブジェクトには、1対多の関係にある2つの関連テーブルがあります。.hbm.xmlファイルからテーブルを作成するようにHibernateに依頼することはできますか?

私はこの目的のために、オブジェクトの名前に基づいて物理テーブルの名前を返す命名戦略を作成しました。

問題は、テーブルを持たないオブジェクトを受け取れるため、作成する必要があることです。私は直接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] 

私の質問は次のとおりです。

それは.hbm.xmlファイルに基づいて、テーブルを作成するために、コード内から休止状態依頼することは可能ですか?何かsession->createTableFromXML(...)のようなもの?

答えて

2

はい、休止状態スキーマ生成ツールを見てhbm2ddl:

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

+0

私が何を意味するか、コード内から、マニュアルの作成です。 –

+2

@Martin Dimitrov:リンクされた資料を読み込んだ場合、検索する部分が近くにあります。「アプリケーションにSchemaExportを組み込むこともできます」 –

+0

ありがとう@Mikko Maunu、私はこれらのツールを埋め込むことができませんでした。私はそれを試してみる。 –

関連する問題