同じ構造を持つtable1、table2、tablenのようないくつかのOracleテーブルがあります。 アプリケーションを実行する前に知っていれば、同じクラス名で、テーブル名と関連するエンティティ名(プロパティタグのマッピングを複製する)を持つ<class>
タグを同じクラス名に入れることができます。 コンパイル時にすべてのテーブル名がわからない。アプリケーションが実行されるとき、私は持っているテーブルの数を知っています:クエリ時にテーブル名を設定することは可能ですか? 私のテーブルはすべてプレフィックス(テーブル)と接尾辞(1,2,3、n)のようなものですが、実行時にn-limitを知っています。 私はすべてのテーブルを照会してマップを生成する必要があります。ここで同じJavaクラスに動的名を持つ別のテーブルをマップします
私は、について説明が明確であったことはよく分からない私のBucket.hbm.xml
の例:
私はこのBucket.hbm.xml
<hibernate-mapping>
<class name="com.Bucket" table="BUCKETTABLE1" entity-name="Buckettable1">
<cache usage="read-only"/>
<id name="id" type="long">
<column name="ID" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<property name="value" type="java.lang.String">
<column name="VALUE" />
</property>
</class>
<class name="com.Bucket" table="BUCKETTABLE2" entity-name="Buckettable2">
<cache usage="read-only"/>
<id name="id" type="long">
<column name="ID" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<property name="value" type="java.lang.String">
<column name="VALUE" />
</property>
</class>
<class name="com.Bucket" table="BUCKETTABLE3" entity-name="Buckettable3">
<cache usage="read-only"/>
<id name="id" type="long">
<column name="ID" />
<generator class="assigned" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<property name="value" type="java.lang.String">
<column name="VALUE" />
</property>
</class>
</hibernate-mapping>
を持っている私が欲しいですこの重複を避けるために、扱うテーブルの数をハードコードしたくありません。