抱歉回复晚了。我已经在stackoverflow上回答了几次这个问题。
要将两个相同的表映射到一个实体类上,需要使用
entity-nameHibernate或NHibernate 的属性。
文档在这里:http :
//docs.jboss.org/hibernate/core/3.2/reference/en/html/mapping.html#mapping-
entityname
例如,要将单个类Order映射到Order和OrderHistory表,请创建一个映射文件,该文件使用new
entity-names(
Order和
OrderHistory)将订单类映射到两个表,如下所示:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="DomainModel.Order, DomainModel" table="Orders" entity-name="Order">` <id name="_id" access="field" column="OrderId"> <generator /> </id> <property name= ...></class><class name="DomainModel.Order, DomainModel" table="OrderHistories" entity-name="OrderHistory"> <id name="_id" access="field" column="OrderId"> <generator /> </id> <property name= ...></class></hibernate-mapping>
然后,根据所需实体的类型,您只需按以下方式调用适当的Session方法:
_session.Save("Order", myOrder)要么
_session.Save("OrderHistory", myOrder)很简单,不是吗?
通常,
entity-name必须在所有Hibernate调用中替换类名。



