我使用的是POJO定义两个表(主备)。 这两个XML类是指的同一个Java类。
参考: 在Hibernate XML映射文件相同的映射POJO到多个表
<hibernate-mapping>
<class name="com.mypackage.model.Table1" table="Table1" entity-name="Table1">
<id name="Id" type="java.lang.Long">
<column name="ID" />
<generator class="identity" />
</id>
<property name="name" type="string">
<column name="NAME" length="20" />
</property>
<property name="age" type="int">
<column name="AGE" />
</property>
</class>
<class name="com.mypackage.model.Table1" table="Table2" entity-name="Table2">
<id name="Id" type="java.lang.Long">
<column name="ID" />
<generator class="identity" />
</id>
<property name="name" type="string">
<column name="NAME" length="20" />
</property>
<property name="age" type="int">
<column name="AGE" />
</property>
</class>
</hibernate-mapping>
POJO认定中:
public class Table1 implements Serializable {
private static final long serialVersionUID = -594654774484987124L;
private Long id;
private String Name;
private int Age;
// Getters and setters.... Removed...
}
我可以创建不同的表。 而且还使用
session.saveOrUpdate(entityName, myObject)
API我能够添加新的单独记录这些表。
虽然检索,我使用HQL
Query query = session.createQuery("from Table1");
list = query.list();
它返回我的表1和表2为所有记录。 如果我试着给表2,则误差为显示“表2未映射”
是否有任何仅仅从表1和表2分别retrive记录。