2016-05-26 1 views
0

同様のColumnNamesを持つ10個のテーブルがあります。すべてのテーブルを単一のEntityクラスにバインドできますか?したがって、将来的には、テーブルが追加されると、コードを変更する必要はありません。Spring 3 + Hibernate 4同じエンティティクラスに異なるテーブルをデータベースからロードする

例:REFT_Table1、REFT_Table2 ... REFT_Table10は、データベース上のテーブルです。 ユーザーがjspページのドロップダウンからテーブルを選択すると、hibernate queriesデータベースがREFTEntityクラスにロードします

答えて

0

以下のように実行できます。

@Entity 
@Table(name="table1") 
@SecondaryTables({ 
     @SecondaryTable(name="table2", pkColumnJoins={@PrimaryKeyJoinColumn(name = "id")}), 
     @SecondaryTable(name="table3", pkColumnJoins={@PrimaryKeyJoinColumn(name = "id")}) 
    }) 
public class TestEntity { 
     @Id 
     @GeneratedValue 
     private int id; 

     private String field1; 

     @Column(name="column2", table="table2") 
     private String field2; 

     @Column(name="column3", table="table3") 
     private String field3; 

     getter and setter... 
} 
+0

新しいテーブルが追加された場合、このコードが正しく動作すると仮定します。 –

+0

二次テーブルとその列をもう一度追加する必要があります。 –

+0

aah、これは私には役に立たないでしょう。私は従来のJDBCテンプレートに戻る必要があります –

関連する問題