Hibernate映射类实体名称

时间:2012-12-13 19:03:10

标签: java hibernate session orm entity

是否可以使用entity-name中的class属性来设置实体并引用它?我想这样做是因为我想映射到具有相同实体类的多个表。

表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中读到这只是在实验阶段。有没有人用这种方法工作?

1 个答案:

答案 0 :(得分:3)

是的,您可以通过XML执行此操作,我没有遇到任何问题。该示例为herehere。您可以分别找到使用herehere的示例。

请注意,您不能对注释执行相同的操作,这是XML更灵活的地方。