2012-12-13 84 views
4

是否可以使用class中的entity-name屬性來設置實體並引用它?我想這樣做是因爲我想映射到具有相同實體類的多個表。Hibernate映射類實體名稱

表1和adble 2具有相同的架構

@Entity 
public class POJO{ 
    @Id 
    @Column(name="column1") 
    private String column1; 

    @Column(name="column2") 
    private String column2; 

    //getters and setters 

} 



<hibernate mapping> 
    <class name="package.POJO" entiy-name="EntityTable1" table="table1"> 
     <id>.....</id> 
      <property>....</property> 
      <property>....</property> 
    </class> 

    <class name="package.POJO" entiy-name="EntityTable2" table="table2"> 
     <id>.....</id> 
      <property>....</property> 
      <property>....</property> 
    </class> 
</hibernate mapping> 


Session s = SessionFactory.openSession(); 
List table1List = s.createQuery("FROM EntityTable1").list(); 

List table1List = s.createQuery("FROM EntityTable2").list(); 

我在Hibernate Documentation讀,這僅僅是在實驗階段。有沒有人使用過這種方法並工作?

+0

您可以使用批註來映射到POJOs的hibernate –

+0

對於我的hibernate文件,我使用'@Entity'和'@Id'和'@Column'。我期待這種方法的主要原因是我想映射到具有相同實體的多個表 – user1817081

回答

3

是的,你可以通過XML來做到這一點,我沒有遇到任何問題。示例是herehere。您可以分別找到使用例子herehere

請注意,您不能對註釋做同樣的事情,這就是XML更靈活的地方。