要将两个相同的表映射到一个类,您需要使用Hibernate或NHibernate的entity-name属性。文档在这里:
http://docs.jboss.org/hibernate/core/3.2/reference/en/html/mapping.html#mapping-
entityname
例如,要将单个类Order映射到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.Save("Order", myOrder)
要么
_session.Save("OrderHistory", myOrder)
通常,实体名称必须在所有Hibernate调用中替换类名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)